#include<bits/stdc++.h>
using namespace std;
long long n,p,sum=0,ans=-9223372036854775800,Max;
long long a[1000001];
long long fs[1000001];
long long tz[1000001];
long long tf[1000001];
int main(){
scanf("%lld%lld",&n,&p);
bool f=0;
for(long long i=1;i<=n;i++){
scanf("%lld",&a[i]);
sum+=a[i];
if(sum<ans)sum=0;
else ans=sum;
tz[i]=ans;
}
fs[1]=tz[1];
tf[1]=fs[1]*2;
Max=fs[1];
sum=0;
ans=-9223372036854775800;
for(long long i=2;i<=n;i++){
sum=fs[i-1]+tz[i-1];
ans=max(ans,sum);
fs[i]=ans;
Max=max(Max,fs[i]);
}
Max%=p;
printf("%lld",Max);
return 0;
}
只对了第一个点awa