#include<bits/stdc++.h>
using namespace std;
int n, k, ans;
vector<int> v(1);
bitset<100005> vis;
void dfs(int tot, int num){
ans = (tot == 3 and num % k == 0? max(ans, num): ans);
for(int i = 1; i <= n; ++i){
if(vis[i]) continue;
vis[i] = 1;
dfs(tot + 1, num + v[i]);
vis[i] = 0;
}
}signed main(){
scanf("%d%d", &n, &k);
for(int i = 1; i <= n; ++i){
int k;
scanf("%d", &k);
v.push_back(k);
}dfs(0, 0);
printf("%d", ans);
return 0;
}