#include <bits/stdc++.h>
using namespace std;

const int maxn = 100010;
int n, K, a[maxn];

int main() {
    scanf("%d %d", &n, &K);
    int g = 0;
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]), g = __gcd(a[i], g);
    }
    if (K <= *max_element(a + 1, a + n + 1) && !(K % g)) {
        printf("POSSIBLE\n");
    } else {
        printf("IMPOSSIBLE\n");
    }
    return 0;
}
#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
using ll = long long;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
int main(){
    ios::sync_with_stdio(false);
    int n,k;
    cin >> n >> k;
    int g;
    cin >> g;
    int max=g;
    rep(i,n-1) {
        int a;
        cin >> a;
        chmax(max, a);
        g = __gcd(g,a);
    }
    if(k > max) cout << "IMPOSSIBLE" << endl;
    else if(k%g == 0) cout << "POSSIBLE" << endl;
    else cout << "IMPOSSIBLE" << endl;
}
