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

京公网安备 11010502036488号