#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
const int K = 19;
int n;
int v[K];
int k;
int arr[N];
int nxt[K][N];
int prv[K][N];
int dp1[1 << K];
int dp2[1 << K];
int pre(int mask) {
  if (dp1[mask] != -1) {
    return dp1[mask];
  }
  int res = 1;
  for (int i = 1; i < k; ++i) {
    if ((mask >> i) & 1) {
      int tmp = pre(mask ^ (1 << i));
      res = max(res, nxt[i][tmp + 1] - 1);
    }
  }
  return dp1[mask] = res;
}
int suf(int mask) {
  if (dp2[mask] != -1) {
    return dp2[mask];
  }
  int res = n;
  for (int i = 1; i < k; ++i) {
    if ((mask >> i) & 1) {
      int tmp = suf(mask ^ (1 << i));
      res = min(res, prv[i][tmp - 1] + 1);
    }
  }
  return dp2[mask] = res;
}
bool solve(int lft, int rgt) {
  int mask = (1 << k) - 2;
  for (int i = mask; i; i = (i - 1) & mask) {
    if (pre(i) >= lft && suf(mask ^ i) <= rgt) {
      return 1;
    }
  }
  return pre(0) >= lft && suf(mask) <= rgt;
}
int main() {
  scanf("%d", &n);
  scanf("%d", &v[0]);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", arr + i);
  }
  k = 1;
  for (int i = 1; i < K; ++i) {
    v[i] = v[i - 1] >> 1;
    if (v[i]) {
      k = i + 1;
    }
  }
  v[k++] = 0;
  for (int i = 0; i < k; ++i) {
    nxt[i][n] = n + 1;
    nxt[i][n + 1] = n + 1;
    for (int j = n - 1; j >= 1; --j) {
      if (arr[j + 1] - arr[j] <= v[i]) {
        nxt[i][j] = nxt[i][j + 1];
      } else {
        nxt[i][j] = j + 1;
      }
    }
    prv[i][1] = 0;
    prv[i][0] = 0;
    int steps = 1;
    for (int j = 2; j <= n; ++j) {
      if (arr[j] - arr[j - 1] <= v[i]) {
        prv[i][j] = prv[i][j - 1];
      } else {
        ++steps;
        prv[i][j] = j - 1;
      }
    }
    if (!i && steps > k + 5) {
      for (int i = 1; i <= n; ++i) {
        puts("Impossible");
      }
      return 0;
    }
  }
  memset(dp1, -1, sizeof(dp1));
  memset(dp2, -1, sizeof(dp1));
  for (int i = 1; i <= n; i = nxt[0][i]) {
    bool ans = solve(prv[0][i], nxt[0][i]);
    for (int j = i; j < nxt[0][i]; ++j) {
      puts(ans ? "Possible" : "Impossible");
    }
  }
}
