//不说话了。反正是看大神的代码,
//,思路什么的自己去找吧
//
#include<iostream>
#include<stdio.h>
using namespace std;
const int maxn=1000000;
#define inf 0x7fffffff
int dp[maxn+10];
int mmax[maxn+10];
int a[maxn+10];
int main()
{
int n,m;
while(scanf("%d%d",&m,&n)!=EOF)
{
int i,j,max1;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
dp[i]=0;
mmax[i]=0;
}
dp[0]=0;
mmax[0]=0;
for(j=1;j<=m;j++)
{
max1=-inf;
for(i=j;i<=n;i++)
{
dp[i]=max(dp[i-1]+a[i],mmax[i-1]+a[i]);
mmax[i-1]=max1;
max1=max(dp[i],max1);
}
}
cout<<max1<<endl;
}
}