#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int MAX_N = 20; int main() { int N, K; cin >> N >> K; vector A(N); for (int i = 0; i < N; ++i) { cin >> A[i]; } sort(A.begin(), A.end()); reverse(A.begin(), A.end()); int ans = 0; for (int mask = 0; mask < (1 << N); ++mask) { if ((mask >> (N - 1) & 1) == 0) continue; int V = K; for (int i = 0; i < N; ++i) { if ((mask >> i & 1) == 0) continue; V %= A[i]; } ans = max(ans, V); } cout << ans << endl; return 0; }