#include <bits/stdc++.h> using namespace std; int n,m,a[1000001],d,ans,b[1000001],c[1000001]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)scanf("%d",&a[i]); for(int i=1;i<=n;i++){ b[i]=a[i]; for(int j=i-1;j>0;j--){ if(b[j])d=max(d,b[j]); } b[i]+=d; d=0; } c[1]=b[1]; ans=max(c[1],c[1]+b[1]); for(int i=2;i<n;i++){ c[i]=ans; ans=max(ans,b[i]+c[i]); } printf("%d",ans%m); return 0; } /************************************************************** Problem: 1800 User: chenshuo Language: C++ Result: Time Limit Exceed ****************************************************************/