#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
vector<int> v[N];
int a[N], ans[N], cnt = 0;
int main() {
  int n, t;
  cin >> n;
  for (int i = 1; i <= n; ++i) {
    cin >> t;
    v[t].push_back(i);
  }
  int cur = 0;
  for (int i = 0; i < n; ++i) {
    if (a[cur] < v[cur].size()) {
      ans[cnt++] = v[cur][a[cur]];
      ++a[cur];
      ++cur;
    } else if (cur == 0) {
      cout << "Impossible";
      return 0;
    } else {
      if (cur >= 2)
        cur -= 3;
      else {
        cout << "Impossible";
        return 0;
      }
      --i;
    }
  }
  cout << "Possible" << endl;
  for (int i = 0; i < n; ++i) cout << ans[i] << ' ';
  return 0;
}
