#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; int main() { int n, k; cin >> n >> k; vector a(n); rep(i, n) cin >> a[i]; sort(a.rbegin(), a.rend()); int ans = 0; auto dfs = [&](auto f, int i, int r) -> void { if (r <= ans) return; if (i == n-1) { ans = max(ans, r%a[n-1]); return; } f(f, i+1, r); f(f, i+1, r%a[i]); }; dfs(dfs, 0, k); cout << ans << '\n'; return 0; }