#include<bits/stdc++.h>
using namespace std;
unsigned long long n,p,a[1000010],dp[1000010],f[1000010],maxn,mmaxn;
int main(){
cin>>n>>p;
for(int i=1;i<=n;i++)
cin>>a[i];
dp[1]=a[1];
for(int i=2;i<=n;i++){
dp[i]=max(dp[i-1]+a[i],a[i]);
}
f[1]=dp[1];
maxn=f[1]+dp[1];
for(int i=2;i<=n;i++){
f[i]=maxn;
if(maxn<=f[i]+dp[i]){
maxn=f[i]+dp[i];
}
}
sort(f+1,f+n+1);
long long k=f[n];
if(k<0)
cout<<'-';
k=abs(k);
cout<<k%p;
// mmaxn=f[1];
// for(int i=1;i<=2;i++)
// mmaxn=max(mmaxn,f[i]);
// cout<<mmaxn;
return 0;
}
谢谢各位了