#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long maxPairwiseModularSum(const vector<int>& numbers, int m) {
int n = numbers.size();
long long result = 0;
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
result = max(result, (long long)(((long long)numbers[i] * numbers[j]) % m));
}
}
return result;
}
int main() {
int n, m;
cin >> n >> m;
vector<int> numbers(n);
for (int i = 0; i < n; ++i) {
cin >> numbers[i];
}
long long result = maxPairwiseModularSum(numbers, m);
cout << result << "\n";
return 0;
}