#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int a[N];
map<int, int> mp;
vector<int> ans;
vector<int> id[N];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", a + i);
    mp[a[i]]++;
    id[a[i]].push_back(i);
  }
  int tmp = 0, cnt = n;
  while (cnt) {
    while (tmp > 2 && mp[tmp] == 0) tmp -= 3;
    if (mp[tmp] == 0) {
      puts("Impossible");
      return 0;
    }
    while (mp[tmp]) mp[tmp] -= 1, ans.push_back(tmp), tmp++, cnt--;
  }
  puts("Possible");
  for (int x : ans) {
    printf("%d ", id[x].back());
    id[x].pop_back();
  }
}
