题目描述
霸王龙是一个计算机爱好者,对二进制数有着特别的喜好。他获得了一个长度为 n 的数列 a1,a2,…,an,发现其中有些元素的和恰好是 2 的整数次幂。对于给定的数列,你的任务是统计有多少对 (i,j)(i<j)满足 ai+aj=2x,其中 x∈N∗(正整数)。
输入格式
第一行一个整数 n。
第二行 n 个整数 a1,a2,…,an。
输出格式
一行一个正整数,表示满足条件的数对个数。
样例
4
7 3 2 1
2
3
1 1 1
3
样例1解释
(7,1)=8=23,(3,1)=4=22,共 2 对。
样例2解释
任意两数之和均为 2=21,共有 3 对。
数据范围
- 对于 40% 的数据:1≤n≤103,1≤ai≤109。
- 对于 100% 的数据:1≤n≤105,1≤ai≤109。