#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200005;
vector<int> b[MAXN], res;
int a[MAXN];
int n;
int main() {
  ios::sync_with_stdio(false);
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i], b[a[i]].push_back(i);
  for (int i = 1, cur = 0; i <= n; i++, cur++) {
    while (cur >= 3 && (int)b[cur].size() == 0) cur -= 3;
    if ((int)b[cur].size() == 0) {
      cout << "Impossible\n";
      return 0;
    }
    res.push_back(b[cur].back());
    b[cur].pop_back();
  }
  cout << "Possible\n";
  for (int i = 0; i < (int)res.size(); i++) cout << res[i] << ' ';
  return 0;
}
