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.
x,a,y,d,ans,e=input(),{},[],{},0,{}
m=map(int,raw_input().split())
for i in m:
	a[i]=0
for i in m:
	e[i]=0
	a[i]=1+a[i]
for i in range(x):
	temp=2
	y=[]
	while temp <= 2*(10**9):
		if m[i] <= temp: y.append(-m[i] + temp)
		temp=temp*2
	d[m[i]]=y
m=list(set(m))
x=len(m)
for i in range(x):
	for j in d[m[i]]:
		if (j in a) and e[m[i]]==0:
			if j==m[i] and a[j]!=1:
#				print 'If',m[i],a[m[i]],j,a[j]
				ans = ans + a[j]*(a[j]-1)/2
			elif j!=m[i]:	
#				print 'Else',m[i],a[m[i]],j,a[j]
				ans = ans + a[m[i]]*a[j]/float(2)
#			print ans
	e[m[i]]=1
print int(ans)
