#include <iostream>
#include <vector>
using namespace std;
long long n,m,Max=0;
vector<long long> a;
void dfs(int index,long long sum){
Max=max(Max,sum);
if(index==n)return;
dfs(index+1,(sum+a[index])%m);
dfs(index+1,sum);
}
int main() {
cin>>n>>m;
for(int x,i=0;i<n;i++){
cin>>x;
a.push_back(x%m);
}
dfs(0,0);
cout<<Max;
}

京公网安备 11010502036488号