rt
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6;
long long n, a[N], b[N], c[N], d[N];
long long solve(long long x) {
long long maxn = INT_MAX;
for (int j = 1; j <= x; j++) {
if(j == 1) b[j] = a[j];
else b[j] = max(a[j], b[j - 1] + a[j]);
maxn = max(maxn, b[j]);
}
return maxn;
}
int main() {
long long p, ans = INT_MIN;
cin >> n >> p;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
c[i] = solve(i);
d[1] = c[1];
for (int i = 2; i <= n; i++) {
long long maxn = INT_MIN;
for (int j = 1; j < i; j++)
maxn = max(a[i] + c[i], maxn);
d[i] = maxn;
}
for (int i = 1; i <= n; i++)
ans = max(ans, d[i]);
cout << ans % p;
return 0;
}