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: #!/usr/bin/env python3
  import sys
  
  YES = "Possible"  # type: str
  NO = "Impossible"  # type: str
  
  
  def solve(N: int, a: "List[int]"):
      amax = max(a)
      vmin = (amax + 1) // 2
      nmin = amax % 2 + 1
  
      for i in range(1, amax + 1):
          if i < vmin and a.count(i) > 0:
              print(NO)
              return
          if i == vmin and a.count(i) != nmin:
              print(NO)
              return
          if i > vmin and a.count(i) < 2:
              print(NO)
              return
      print(YES)
      return
  
  
  # Generated by 1.1.4 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
  def main():
      def iterate_tokens():
          for line in sys.stdin:
              for word in line.split():
                  yield word
  
      tokens = iterate_tokens()
      N = int(next(tokens))  # type: int
      a = [int(next(tokens)) for _ in range(N)]  # type: "List[int]"
      solve(N, a)
  
  
  if __name__ == "__main__":
      main()
  
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"}]