#include <bits/stdc++.h>
using namespace std;
vector<int> ans;
queue<int> q[200100];
int n;
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    int k;
    cin >> k;
    q[k].push(i + 1);
  }
  int o = 0;
  while (1) {
    while (o >= 0 && q[o].empty()) o -= 3;
    if (o < 0) break;
    ans.push_back(q[o].front());
    q[o].pop();
    o++;
  }
  if (ans.size() < n)
    cout << "Impossible" << endl;
  else {
    cout << "Possible" << endl;
    for (int i = 0; i < n; i++) cout << ans[i] << " ";
    cout << endl;
  }
  return 0;
}
