output_description: If there exists a tree that satisfies the condition, print `Possible`.
  Otherwise, print `Impossible`.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
      a_1 a_2 ... a_N
attempt: import sys
  
  sys.setrecursionlimit(2147483647)
  INF = float("inf")
  MOD = 10**9 + 7  # 998244353
  input = lambda: sys.stdin.readline().rstrip()
  from collections import defaultdict
  
  
  def resolve():
      n = int(input())
      A = list(map(int, input().split()))
      D = defaultdict(int)
      for a in A:
          D[a] += 1
  
      m = max(A)
      B = list(range(m // 2 + 1, m + 1)) * 2
      if m & 1 == 0:
          B.append(m // 2)
  
      for b in B:
          if D[b] == 0:
              print("Impossible")
              return
          D[b] -= 1
  
      for key, val in D.items():
          if val == 0:
              continue
          if not (m // 2 + 1 <= key <= m):
              print("Impossible")
              return
  
      print("Possible")
  
  
  resolve()
  
problem_description: Statement
  
  Aoki loves numerical sequences and trees.
  
  One day, Takahashi gave him an integer sequence of length N, a_1, a_2, ...,
  a_N, which made him want to construct a tree.
  
  Aoki wants to construct a tree with N vertices numbered 1 through N, such that
  for each i = 1,2,...,N, the distance between vertex i and the farthest vertex
  from it is a_i, assuming that the length of each edge is 1.
  
  Determine whether such a tree exists.
samples: [{"input": "5\n    3 2 2 3 3", "output": "Possible\n    \n\n![](https://atcoder.jp/img/agc005/cda0380bb5cd1b9502cfceaf2526d91e.png)\n\nThe diagram above shows an example of a tree that satisfies the conditions.\nThe red arrows show paths from each vertex to the farthest vertex from it.\n\n* * *"}, {"input": "3\n    1 1 2", "output": "Impossible\n    \n\n* * *"}, {"input": "10\n    1 2 2 2 2 2 2 2 2 2", "output": "Possible\n    \n\n* * *"}, {"input": "10\n    1 1 2 2 2 2 2 2 2 2", "output": "Impossible\n    \n\n* * *"}, {"input": "6\n    1 1 1 1 1 5", "output": "Impossible\n    \n\n* * *"}, {"input": "5\n    4 3 2 3 4", "output": "Possible"}]