#include<iostream>

using namespace std;


int main(){
	while(1){
		int n,m;
		cin>>n>>m;
		if(n==0){
			break;
		}
		int hon[100];
		for(int i=0;i<m;i++){
			cin>>hon[i];
		}
		
		int reft=0;
		int right=0;
		for(int i=0;i<m;i++){
			right+=hon[i];
		}
		
		while(1){
			double h = (double)(reft+right)/2;
			
			int now=0;
			int cont=1;
			for(int i=0;i<m;i++){
				if(cont>n){
					break;
				}
				if(now+hon[i]>h){
					now=0;
					cont++;
					i--;
					continue;
				}
				now+=hon[i];
			}
			
			if(cont>n){
				reft=h;
			}else{
				right=h+0.5;
			}
			
			if(reft+1==right){
				break;
			}
		}
		printf("%d\n",right);
	}
}