#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e9 + 7;
const int N = 1e2 + 10;
int flag[N];
int a[N];
int main() {
  int n, x;
  cin >> n;
  int maxv = 0;
  memset((flag), (0), sizeof(flag));
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    maxv = max(maxv, a[i]);
  }
  for (int i = 0; i < n; i++) {
    if (!flag[a[i]])
      flag[a[i]] = 1;
    else if (!flag[maxv - a[i]])
      flag[maxv - a[i]] = 1;
    else {
      int key = 0;
      for (int j = 0; j <= maxv; j++) {
        if (max(j + 1, maxv - j + 1) == a[i]) key = 1;
      }
      if (key == 0) {
        puts("Impossible");
        return 0;
      }
    }
  }
  for (int i = 0; i <= maxv; i++) {
    if (!flag[i]) {
      puts("Impossible");
      return 0;
    }
  }
  puts("Possible");
  return 0;
}
