#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 100;
long long f[N],score[N],s[N];
int main()
{
long long n,p,t = -1e9;
cin >> n >> p;
for (int i = 1;i <= n;i++)
{
cin >> s[i];
s[i] = max(s[i],s[i] + s[i - 1]);
t = max(t,s[i]);
f[i] = t % p;
}
long long ans = score[1] = f[1];
t = -1e9;
for (int i = 2;i <= n;i++)
{
score[i] = t = max(t,f[i - 1] + score[i - 1]);
ans = max(t,ans) % p;
}
cout<< ans;
return 0;
}