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

#define FOR(i,a,b) for(int i = (a); i < (b); i++)
#define RFOR(i,b,a) for(int i = (b) - 1; i >= (a); i--)
#define ITER(it, a) for(typeof(a.begin()) it = a.begin(); it != a.end(); it++)
#define FILL(a, value) memset(a, value, sizeof(a))

#define SZ(a) (int) a.size()
#define ALL(a) a.begin(),a.end()
#define PB push_back
#define MP make_pair

typedef long long LL;
typedef vector<int> VI;
typedef pair<int, int> PII;

const double PI = acos(-1.0);
const LL INF = 1000 * 1000 * 1000 + 7;
const LL LINF = INF * (LL)INF;

const int MAX = 1000 * 100 + 47;
int A[MAX];

void imp()
{
    cout << "IMPOSSIBLE" << endl;
    exit(0);
}

int main()
{
	//freopen("in.txt", "r", stdin);
	//freopen("out.txt", "w", stdout);
	ios::sync_with_stdio(false); cin.tie(0);
	int n, k;
	cin >> n >> k;
	FOR(i,0,n) cin >> A[i];
	
	int g = A[0];
	int mx = A[0];
	
	FOR(i,0,n)
	{
	    g = __gcd(A[i], g);
	    mx = max(A[i], mx);
	}
	
	if (mx < k) imp();
	if ((mx - k) % g != 0) imp();
	
	cout << "POSSIBLE" << endl;
}