output_description: Print the maximum possible number of pairs such that the sum of the integers
  written on each pair of balls is a power of 2.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 A_2 ... A_N
attempt: from collections import defaultdict
  
  def twosum(n):
    now = 1
    while n >= now:
      now *= 2
    return now - n
  n=int(input())
  a=sorted(list(map(int,input().split())))
  d = defaultdict(int)
  for i in a:
      d[i] += 1
  ans = 0
  for i in a[::-1]:
      d[i] -= 1:
      find = twosum(i)
      if d[find] > 0 and d[i] >= 0:
          ans += 1
          d[find] -= 1
      else:
          d[i] += 1
  print(ans)
problem_description: Statement
  
  Takahashi has N balls with positive integers written on them. The integer
  written on the i-th ball is A_i. He would like to form some number of pairs
  such that the sum of the integers written on each pair of balls is a power of
  2. Note that a ball cannot belong to multiple pairs. Find the maximum possible
  number of pairs that can be formed.
  
  Here, a positive integer is said to be a power of 2 when it can be written as
  2^t using some non-negative integer t.
samples: [{"input": "3\n    1 2 3", "output": "1\n    \n\nWe can form one pair whose sum of the written numbers is 4 by pairing the\nfirst and third balls. Note that we cannot pair the second ball with itself.\n\n* * *"}, {"input": "5\n    3 11 14 5 13", "output": "2"}]