#include <bits/stdc++.h>
using namespace std;
vector<int> shakes[200000];
int n;
int main() {
  vector<int> q;
  int handshake;
  int i;
  int present, notinteam;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d", &handshake);
    shakes[handshake].push_back(i);
  }
  present = 0;
  notinteam = 0;
  while (notinteam >= 0) {
    if (shakes[notinteam].size() == 0)
      notinteam -= 3;
    else {
      q.push_back(shakes[notinteam].back());
      shakes[notinteam].pop_back();
      notinteam++;
      present++;
      if (present == n) break;
    }
  }
  if (present == n) {
    printf("Possible\n");
    for (i = 0; i < q.size(); i++) printf("%d ", q[i]);
  } else
    printf("Impossible\n");
  return 0;
}
