#include <bits/stdc++.h>
using namespace std;
using LL = long long;
const int N = 2E5 + 100;
const int M = 20;
const LL INF = 1E18;
int nxt[M][N], bak[M][N], ans[N];
int f[1 << M], g[1 << M];
LL x[N];
vector<LL> spans;
int main() {
  int n, v;
  cin >> n >> v;
  while (v) {
    spans.push_back(v);
    v /= 2;
  }
  spans.push_back(0);
  for (decay<decltype(n + 1)>::type i = (1), _i = (n + 1); i < _i; ++i)
    cin >> x[i];
  int m = spans.size();
  for (decay<decltype(m)>::type i = (0), _i = (m); i < _i; ++i) {
    const auto& span = spans[i];
    for (decay<decltype(n)>::type j = (n), _j = (0); j > _j; --j) {
      if (j < n && x[j + 1] - x[j] <= span) {
        nxt[i][j] = nxt[i][j + 1];
      } else {
        nxt[i][j] = j;
      }
    }
    for (decay<decltype(n + 1)>::type j = (1), _j = (n + 1); j < _j; ++j) {
      if (j > 1 && x[j] - x[j - 1] <= span) {
        bak[i][j] = bak[i][j - 1];
      } else {
        bak[i][j] = j;
      };
    }
  }
  g[0] = n + 1;
  for (decay<decltype(1 << m)>::type u = (0), _u = (1 << m); u < _u; ++u) {
    if (u & 1) continue;
    ;
    for (decay<decltype(m)>::type i = (1), _i = (m); i < _i; ++i) {
      if ((u >> i) & 1) continue;
      int v = u | (1 << i);
      if (f[u] == n)
        f[v] = n;
      else
        f[v] = max(f[v], nxt[i][f[u] + 1]);
      if (g[u] == 1)
        g[v] = 1;
      else
        g[v] = max(g[v], bak[i][g[u] - 1]);
    }
  }
  for (decay<decltype(1 << m)>::type u = (0), _u = (1 << m); u < _u; ++u) {
    if (u & 1) continue;
    int v = ((1 << m) - 2) ^ u;
    int st = f[u] + 1, ed = g[v] - 1;
    if (st > n || ed < 1) {
      fill(ans + 1, ans + n + 1, 1);
      break;
    }
    if (nxt[0][st] >= ed) {
      for (decay<decltype(nxt[0][st] + 1)>::type i = (bak[0][st]),
                                                 _i = (nxt[0][st] + 1);
           i < _i; ++i) {
        if (ans[i]) break;
        ans[i] = 1;
      }
    }
  }
  for (decay<decltype(n + 1)>::type i = (1), _i = (n + 1); i < _i; ++i) {
    puts(ans[i] ? "Possible" : "Impossible");
  }
}
