You are given n integers a1, a2, ..., an. Find the number of pairs of indexes i, j (i < j) that ai + aj is a power of 2 (i. e. some integer x exists so that ai + aj = 2x).

Input

The first line contains the single positive integer n (1 ≤ n ≤ 105) — the number of integers.

The second line contains n positive integers a1, a2, ..., an (1 ≤ ai ≤ 109).

Output

Print the number of pairs of indexes i, j (i < j) that ai + aj is a power of 2.

Examples

Input

4
7 3 2 1


Output

2


Input

3
1 1 1


Output

3

Note

In the first example the following pairs of indexes include in answer: (1, 4) and (2, 4).

In the second example all pairs of indexes (i, j) (where i < j) include in answer.
ll=lambda:map(int,input().split())
t=lambda:int(input())
ss=lambda:input()
lx=lambda x:map(int,input().split(x))
from math import log10 ,log2,ceil,factorial as fac,gcd
#from itertools import combinations_with_replacement as cs 
#from functools import reduce
#from bisect import bisect_right as br,bisect_left as bl
#from collections import Counter
#from math import inf


 


#for _ in range(t()):
def f():
    
    
    n=t()
    a=list(ll())
    
    d={}
    for i in a:
        if i not in d:
            d[i]=0
        d[i]+=1

    x=31
    c=0
    l={}
    for i in d.keys():
        k=0
        
        while k<=31:
            try:
                
                if (2**k-i)==i:
                    c+=(d[i]*(d[i]-1))//2
                else:
                    c+=d[i]*d[2**k-i]
                
                
            except:
                pass
        
            k+=1
        d[i]=0
    print(c)
f()

'''
1 3
0 1 2



 
'''
