RT
#include <bits/stdc++.h>
using namespace std;
long long n, p, shu[1000001], te[1000001], fen[1000001], dp[1000001][2], maxn = -9223372036854775808, ans = -9223372036854775808;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> p;
te[0] = 0;
for (long long i = 1; i <= n; i++){
cin >> shu[i];
maxn = max(maxn, shu[i]);
dp[i][0] = te[i - 1];
dp[i][1] = dp[i - 1][1] + shu[i];
te[i] = max(dp[i][0], dp[i][1]);
if (!te[i]){
te[i] = maxn;
}
}
fen[1] = te[1];
maxn = fen[1] << 1;
ans = max(ans, fen[1]);
for (long long i = 2; i <= n; i++){
fen[i] = maxn;
maxn = max(maxn, fen[i] + te[i]);
ans = max(ans, fen[i]);
}
cout << ans % p;
return 0;
}