#include <bits/stdc++.h>
using namespace std;
const int MAXN = 222222;
vector<int> sh[MAXN], res;
int n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) sh[i].clear();
  for (int i = 0; i < n; i++) {
    int x;
    scanf("%d", &x);
    sh[x].push_back(i + 1);
  }
  res.clear();
  int cur = 0;
  while (cur >= 0) {
    while (cur >= 0 && sh[cur].size() == 0) cur -= 3;
    if (cur >= 0) {
      res.push_back(sh[cur].back());
      sh[cur].pop_back();
      cur++;
    }
  }
  if (res.size() != n) {
    puts("Impossible");
  } else {
    puts("Possible");
    for (int i = 0; i < n - 1; i++) printf("%d ", res[i]);
    printf("%d\n", res[n - 1]);
  }
  return 0;
}
