#include <bits/stdc++.h>
using namespace std;
vector<int> v[200006];
int c[200005];
int id[200005];
vector<int> ans;
int main() {
  int i, j, n;
  cin >> n;
  int arr[n + 2];
  for (i = 0; i < n; i++) {
    cin >> arr[i];
    v[arr[i]].push_back(i + 1);
    c[arr[i]]++;
  }
  int size = 0;
  if (c[0] == 0) {
    cout << "Impossible" << endl;
  } else {
    int count = 0, f = 0;
    while (n) {
      if (c[size] != 0) {
        n--;
        ans.push_back(size);
        c[size]--;
        size++;
        f = 0;
        ++count;
      } else {
        size -= 3;
        if (size < 0) {
          cout << "Impossible";
          return 0;
        }
      }
    }
    cout << "Possible" << endl;
    for (i = 0; i < ans.size(); ++i) {
      ans[i] = v[ans[i]][id[ans[i]]++];
    }
    for (i = 0; i < ans.size(); ++i) cout << ans[i] << " ";
  }
  return 0;
}
