#include
using namespace std;
bool poss(int a[],int p,int m,int n){
int paratha=0;
for(int i=0;i<n;i++){
int time=a[i];
int j=2;
while(time<=m){
paratha++;
a[i]*=j;
j++;
time+=a[i];
if(paratha==p){
return true;
}
}
}
return false;
}
int main() {
int p,l;
cin>>p;
cin>>l;
int a[l];
for(int i=0;i<l;i++){
cin>>a[i];
}
int i=a[0];
int s=0;
int e=a[0];
for(int j=2;j<=p;j++){
i=j*a[0];
e+=i;
}
int ans=e;
while(s<=e){
int mid=(s+e)/2;
if(poss(a,p,mid,l)){
ans=mid;
e=mid-1;
}
else{
s=mid+1;
}
}
cout<<ans<<endl;
return 0;
}