#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, a[N];
multiset<int> s;
void fail(bool ok) {
  if (ok == true) {
    cout << "Impossible\n";
    exit(0);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    s.insert(-a[i]);
  }
  while (s.empty() == false) {
    int x = -*s.begin();
    if (x % 2 == 0) {
      for (int i = x; i >= x / 2; i--) {
        auto it = s.find(-i);
        fail(it == s.end());
        s.erase(it);
        if (i != x / 2) {
          auto it = s.find(-i);
          fail(it == s.end());
          s.erase(it);
        }
      }
    } else {
      for (int i = x; i > x / 2; i--) {
        auto it = s.find(-i);
        fail(it == s.end());
        s.erase(it);
        it = s.find(-i);
        fail(it == s.end());
        s.erase(it);
      }
    }
    if (s.find(-x) != s.end()) s.erase(-x);
  }
  cout << "Possible\n";
}
