1
#include
2 using namespace std;
3 using LL = long long;
4 const int N = 1e7 + 9;
5 int a[100];
6 bool vis[N];
7 int n, x;
8 int res = (1 << 31) - 1;
9 void solve(int now,int k) {
10 if (vis[now]||k==n+1) return;
11 vis[now] = 1;
12 res = min(res, now);
13 for (int i = k+1; i <= n; i++) {
14 if (!vis[now % a[i]]) {
15 solve(now % a[i], i);
16 vis[now % a[i]] = 1;
17 res = min(res, now % a[i]);
18 }
19 }
20 }
21 int main() {
22
23
24 cin >> n >> x;
25 for (int i = 1; i <= n; i++) {
26 cin >> a[i];
27 }
28 sort(a + 1, a + n + 1, [&](int i, int j) {return i > j; });
29 for(int i=1;i<=n;i++)
30 solve(x%a[i], i);
31 cout << res << '\n';
32 return 0;
33 }