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.
# Problem: B. Powers of Two
# Contest: Codeforces - Educational Codeforces Round 15
# URL: https://codeforces.com/problemset/problem/702/B
# Memory Limit: 256 MB
# Time Limit: 3000 ms
# 
# KAPOOR'S

from sys import stdin, stdout 

def INI():
	return int(stdin.readline())
	
def INL():
	return [int(_) for _ in stdin.readline().split()]
	
def INS():
	return stdin.readline()

def MOD():
    return pow(10,9)+7
	
def OPS(ans):
	stdout.write(str(ans)+"\n")
	
def OPL(ans):
	[stdout.write(str(_)+" ") for _ in ans]
	stdout.write("\n")

from math import log2	
if __name__=="__main__":
	n=INI()
	X=sorted(INL())
	
	D=[1<<_ for _ in range(31)]
	ans=0
	M=dict()
	for _ in range(n):
		for __ in D:
			ans+=M.get(__-X[_],0)
		M[X[_]]=M.get(X[_],0)+1
	OPS(ans)