#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
ll dp[2][1000005];
ll n,p,tmp;
ll fps,s,maxfps,maxs;
int main()
{
cin>>n>>p>>tmp;
dp[0][1]=dp[1][1]=tmp;
s=dp[0][1];
fps=s+dp[0][1];
maxfps=fps;
maxs=s;
for(int i=2;i<=n;i++)
{
scanf("%lld",&tmp);
dp[1][i]=max(dp[1][i-1]+tmp,tmp);
dp[0][i]=max(dp[0][i-1],dp[1][i]);
s=maxfps;
fps=s+dp[0][i];
maxfps=max(maxfps,fps);
maxs=max(maxs,s);
}
cout<<maxs%p;
return 0;
}
80分,有2个点WA了,是哪里错了