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.
n = int(input())
arr = list(map(int,input().split()))
count =0
maxA = 2*(10**9)
compare =[]
x=2
dic = {}
done = {}
while(x<maxA):
    compare.append(x)
    x<<=1
for i in range(n):
    text = str(arr[i])
    if text in dic:
        dic[text] = dic.get(text)+1
    else:
        dic[text] = 1
for num in arr:
    textNum = str(num)
    if textNum not in done:
        for v in compare:
            if v > num:
                need = v-num
                textNeed = str(need)
                aStyle = textNum+'-'+textNeed
                bStyle = textNeed+'-'+textNum
                if textNeed in dic and aStyle not in done and bStyle not in dic:
                    if num == need:
                        amount = dic.get(textNum)
                        count+= amount*(amount-1)//2
                    else:
                        count += dic.get(textNum)*dic.get(textNeed)
                    done[aStyle]=1
                    done[bStyle]=1
    done[textNum] = 1
print(count)
