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.
import java.io.*;
import java.util.*;

public class B702 
{
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		
		int n = in.nextInt();
		ArrayList<Long> a = new ArrayList<>();
		ArrayList<Long> hs = new ArrayList<>();
		HashMap<Long,Long> hm = new HashMap<>();
		long ans=0,temp=1,current=0;
		
		while(temp<Math.pow(10, 10))
		{
			hs.add(temp);
			temp = temp*2;
		}
		
		for(int i=0;i<n;i++)
		{
			long p = in.nextLong();
			a.add(p);
			
			if(!hm.containsKey(p))
				hm.put(p, 1L);
			else
			{
				hm.put(p, hm.get(p)+1);
			}
		}
		
		for(int i=0;i<n;i++)
		{
			current = a.get(i);
			
			for(int j=0;j<hs.size();j++)
			{
				long q = hs.get(j);
				
				if(hm.get(q-current)!=null)
				{
					if(q-current==current)
						ans += hm.get(current)-1;
					else
						ans += hm.get(q-current);
				}
			}
			
			if(hm.get(current)!=0)
				hm.put(current, hm.get(current)-1);
			else
				hm.remove(current);
		}
		
		System.out.println(ans);
	}
}
