#include <iostream>
using namespace std;

int m,n;
int lef,rig,cen;
int a[100];
int ans;

bool func(){
	int sum=0,M=1;
	for (int i=0; i<n; i++) {
		if (sum+a[i]<=cen) {
			sum+=a[i];
		}
		else{
			M++;
			if (M>m) {
				return false;
			}
			sum=0;
			if (a[i]>cen) {
				return false;
			}
			sum+=a[i];
		}
	}
	return true;
}

int main(){
	
	while (1) {
		cin>>m>>n;
		if (m==0&&n==0) {
			break;
		}
		for (int i=0; i<n; i++) {
			cin>>a[i];
		}
		lef=0;
		rig=1500000-1;
		ans=0;
		
		while (lef<=rig) {
			cen=(lef+rig)/2;
			if (func()) {
				ans=cen;
				rig=cen-1;
			}
			else{
				lef=cen+1;
			}
			
		}
		cout << ans << endl;
	}		
	
}