#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
****************************************************************/