#include <cstdio>
#include <vector>
using namespace std;

int main(){
    int m,n;
    for(;;){
        scanf("%d%d",&m,&n);
        if(m==0 && n==0) break;
        vector<int> page(n);
        int mapa=0;
        for(int i=0;i<n;i++){
            scanf("%d",&page[i]);
            mapa=max(mapa,page[i]);
        }
        vector<int> sum(n);
        sum[0]=page[0];
        for(int i=1;i<n;i++){
            sum[i]=page[i]+sum[i-1];
        }
        vector<int> wis;
        int miwi=0;
        for(int i=0;i<n;i++){
            for(int j=i;j<n;j++){
                int w=sum[j]-sum[i]+page[i];
                if(mapa<=w && w<=1500000){
                    wis.push_back(w);
                    miwi=max(miwi,w);
                }
            }
        }
        for(int i=0;i<wis.size();i++){
            int wi=wis[i];
            int at=1,now=0;
            for(int j=0;j<page.size();j++){
                if(now+page[j]<=wi){
                    now+=page[j];
                }else{
                    at++;
                    now=page[j];
                }
            }
            if(at<=m) miwi=min(miwi,wi);
        }
        printf("%d\n",miwi);
    }
}