#include <bits/stdc++.h>
using namespace std;
vector<int> cnt[200005];
int ans[200005];
int main(int argc, char** argv) {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int t;
    cin >> t;
    cnt[t].push_back(i);
  }
  int now = 0;
  for (int i = 1; i <= n; i++) {
    while (now > 2 && !cnt[now].size()) {
      now -= 3;
    }
    if (!cnt[now].size()) break;
    ans[i] = cnt[now][cnt[now].size() - 1];
    cnt[now].pop_back();
    ++now;
  }
  for (int i = 1; i <= n; i++) {
    if (!ans[i]) {
      puts("Impossible");
      return 0;
    }
  }
  puts("Possible");
  for (int i = 1; i <= n; i++) cout << ans[i] << " ";
  return 0;
}
