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: N = int(input())
  L = list(map(int, input().split()))
  B = [False] * N
  ans = 0
  L.sort()
  for i in range(N):
      cur = L[N - i - 1]
      if B[N - i - 1] == True:
          None
      else:
          B[N - i - 1] = True
          for j in range(N - i - 1):
              if B[j] == False:
                  S = cur + L[j]
                  while S > 1:
                      if S % 2 == 0:
                          S = S / 2
                      else:
                          break
                  if S == 1:
                      ans += 1
                      B[j] = True
  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"}]