#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1000000 + 10;
const int INF = 0X7fffffff;
int S[maxn];
int dp[maxn][2];
int main() {
int m, n;
while( scanf("%d%d", &m, &n)!=EOF ) {
for(int i=1; i<=n; ++i) {
cin >> S[i];
}
int ans=-INF;
for(int i=0; i<=n; ++i) {
for(int j=0; j<=m; ++j) {
dp[i][j] = 0;
}
}
for(int j=1; j<=m; ++j) {
int temp = -INF;
for(int i=j; i<=n; ++i) {
temp = max( temp, dp[i-1][(j-1)%2] );
if( i!=j ) {
dp[i][j%2] = max( dp[i-1][j%2]+S[i], temp+S[i] );
}
else {
dp[i][j%2] = temp + S[i];
}
if( j==m ) {
ans = max( ans, dp[i][j%2] );
}
}
}
cout << ans << endl;
}
return 0;
}