#include <bits/stdc++.h>
using namespace std;
int goR[200005][20];
int goL[200005][20];
int a[200005];
int n, v;
int R(int first, int k, int v) {
  if (first == n + 1) return n;
  if (goR[first][k] != -1) return goR[first][k];
  if (a[first + 1] - a[first] > (v >> k)) return goR[first][k] = first;
  return goR[first][k] = R(first + 1, k, v);
}
int L(int first, int k, int v) {
  if (first == 0) return 1;
  if (goL[first][k] != -1) return goL[first][k];
  if (a[first] - a[first - 1] > (v >> k)) return goL[first][k] = first;
  return goL[first][k] = L(first - 1, k, v);
}
int dpR[1 << 20];
int dpL[1 << 20];
int DPR(int first) {
  if (first == 0) return 0;
  if (dpR[first] != -1) return dpR[first];
  dpR[first] = 0;
  for (int i = 0; i < 20; i++) {
    if (first & (1 << i)) {
      dpR[first] = max(dpR[first], R(DPR(first - (1 << i)) + 1, i, v));
    }
  }
  return dpR[first];
}
int DPL(int first) {
  if (first == 0) return n + 1;
  if (dpL[first] != -1) return dpL[first];
  dpL[first] = 1e9 + 1;
  for (int i = 0; i < 20; i++) {
    if (first & (1 << i)) {
      dpL[first] = min(dpL[first], L(DPL(first - (1 << i)) - 1, i, v));
    }
  }
  return dpL[first];
}
int main() {
  memset(goR, -1, sizeof(goR));
  memset(goL, -1, sizeof(goL));
  memset(dpR, -1, sizeof(dpR));
  memset(dpL, -1, sizeof(dpL));
  scanf("%d %d", &n, &v);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  a[0] = -1e9 - 1e8;
  a[n + 1] = 1e9 + 1e8;
  int Max = 1;
  for (int i = 1;; i++) {
    Max = i + 1;
    if (!(v >> i)) break;
  }
  if (DPR((1 << Max) - 1) < n) {
    for (int i = 1; i <= n; i++) {
      printf("Impossible\n");
    }
    return 0;
  }
  for (int i = 1; i <= n;) {
    int l = i, r = R(i, 0, v);
    int ok = 0;
    for (int j = 0; j < (1 << Max); j++) {
      int a = j, b = (1 << Max) - j;
      if (a & 1) a--;
      if (b & 1) b--;
      if (DPR(a) >= l - 1 && DPL(b) <= r + 1) {
        ok = 1;
        break;
      }
    }
    if (ok) {
      for (int i = l; i <= r; i++) printf("Possible\n");
    } else {
      for (int i = l; i <= r; i++) printf("Impossible\n");
    }
    i = r + 1;
  }
}
