#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int N  = 1e3 + 1;
ll n,k,dp[N][N],a[N];

int main(){
    cin>>n>>k;
    for(int i = 1;i<=n;i++) cin>>a[i];

    for(int i = 0;i<=n;i++) {
        for(int j = 0;j<k;j++) dp[i][j] = -1e18;
    }

    dp[0][0] = 0;
    for(int i = 1;i<=n;i++){
        for(int j = 0;j<k;j++){
            dp[i][(j+a[i])%k] = max(dp[i-1][j]+a[i],dp[i-1][(j+a[i])%k]);
        }
    }
    cout<<(dp[n][0]<=0?-1:dp[n][0]);

    return 0;
}

#牛客春招刷题训练营#https://www.nowcoder.com/discuss/727521113110073344