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

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int mass[200003],jump[202],min,m;
long long br=0,n,final=0;
long long find(long num,long long sum)
{
     int i;
     sum+=mass[num];
     if(br<sum || (br==sum && num<final)){br=sum;final=num;}
     for(i=0;i<m;i++)
         if(num+jump[i]<=n)return find(num + jump[i],sum);
}
int main()
{   
    int i;
    long j;
    cin >> n >> m;
    for(i=0;i<m;i++)
    cin >> jump[i];
    for(j=0;j<=n;j++)
    cin >> mass[j];
    find(0,0);
    cout << br << final;
    return 0;
}
