/*
TASK:skok
LANG:C++
*/
#include <iostream>
#include <vector>
using namespace std;
vector <int> all;
int temp;
char begin[202];
long m,n,j,i,maxx,sum=0,maxn=100000;
void rec(long t)
{int i;
 sum+=all[t];
 //cout<<t<<" sum->"<<sum<<" maxn-> "<<maxn<<endl;
 if (sum>maxx) {maxx=sum;maxn=t;} 
 if ((sum=maxx)&&(maxn>t))maxn=t;
 for(i=1;i<202;i++) 
   if (begin[i]!=0){
                    begin[i]--;
                    if (!(t+i>n))rec(t+i);
                    begin[i]++;
                    }
 sum-=all[t]; 
 return;
}

int main()
{cin>>n>>m;
for (i=0;i<201;i++) begin[i]=0;
for (i=0;i<m;i++){cin>>j;begin[j]++;}
for (i=0;i<n+1;i++){
    cin>>temp;
    all.push_back(temp);
    }
maxx=all[0];
rec(0);
cout<<maxx<<" "<<maxn<<endl;
//system("pause");
    return 0;
}
