#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
  return x * f;
}
int n, a[200000 + 5], num[200000 + 5], mx;
int main() {
  n = read();
  for (int i = 1; i <= n; ++i) a[i] = read(), mx = max(mx, a[i]), ++num[a[i]];
  if (mx == 1) {
    if (n > 2)
      return 0 * puts("Impossible");
    else
      puts("Possible");
  }
  int mnlen = (mx + 1) / 2;
  for (int j = 1; j < mnlen; ++j)
    if (num[j]) return 0 * puts("Impossible");
  for (int j = mnlen; j <= mx; ++j)
    if (num[j] < 2 - (j * 2 == mx)) return 0 * puts("Impossible");
  if (mx % 2 == 0 && num[mx / 2] > 1) return 0 * puts("Impossible");
  puts("Possible");
  return 0;
}
