/*
TASK:skok
LANG:C++
*/

#include <stdio.h>


main()
{
      int mm[200];
      int nn[200000];
      int r[200000];
      long int i,j,n,m,max,end;
      int t,k;
      scanf("%ld%ld",&n,&m);
      for (i=0;i<m;i++) scanf("%d",&mm[i]);
      for (i=0;i<m-1;i++)
          for (k=0;k<m-i;k++) 
                              if ((mm[k]>mm[k+1]) && (k<m-1)) {t=mm[k]; 
                              mm[k]=mm[k+1]; 
                              mm[k+1]=t;};
      
      scanf("%d",&max);
      r[0]=max;
      nn[0]=max;
      end=0;
      for (i=1;i<=n;i++)
      {
          j=0;
          while ((mm[j]<=i) && (j<m))
                {
                           if (r[i] < (nn[i]+r[i-mm[j]]) ) r[i]=(nn[i]+r[i-mm[j]]);
                           if (r[i]>max) {max=r[i]; end=i;};
                           j++;
                };
          scanf("%d",&nn[i]);
      }      
      
      printf("%ld %ld\n",max,end);
}
