Pair
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定n个整数,第i个为a_i,请你统计有多少对无序对(i,j),满足
其中代表二进制按位与,代表二进制按位异或。
无序对的意思是(i,j)(j,i)被视为同一对。

输入描述:

第一行输入正整数n,接下来一行n个整数表示a_i

输出描述:

一行一个数字表示答案。
示例1

输入

复制
8
12 7 11 6 5 0 2 8

输出

复制
6
示例2

输入

复制
6
3 7 2 6 1 1

输出

复制
3

说明

(1,1),(3,2),(6,7)是满足条件的三对(这里放的是a_i的值而非下标)