#include<bits/stdc++.h>
#define int __int128
using namespace std;
__int128 abs(__int128 x)
{
return x<0?-x:x;
}
int read()
{
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9') f=ch=='-'?-1:1,ch=getchar();
while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return x*f;
}
void print(int x)
{
char P[105];int w=0;
if(x<0) putchar('-'),x=-x;
while(x) P[++w]=x%10+'0',x/=10;
for(int i=w; i>=1; i--) putchar(P[i]);
}
signed main()
{
int n,p;
n=read(),p=read();
int a[n],dp[n]={0},tz[n]={0},sc[n]={0},ans=-1e19;
for(int i=0;i<n;i++)a[i]=read(),dp[i]=a[i];
for(int i=1;i<n;i++)
dp[i]=max(dp[i],dp[i-1]+dp[i]);
tz[0]=dp[0];
for(int i=1;i<n;i++)
tz[i]=max(tz[i-1],dp[i]);
sc[0]=tz[0];
for(int i=1;i<n;i++)
sc[i]=sc[i-1]+tz[i-1];
for(int i=0;i<n;i++)
ans=max(ans,sc[i]);
if(ans<0)cout<<"-";
cout<<(long long)(abs(ans)%p);
return 0;
}