纯粹的数学符号
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给你一个长度为的数组,请求出如下公式的值
\sum_{i=1}^{n}{ \sum_{j=i+1}^{n} { ( a_{i} | a_{j} ) + ( a_{i} \& a_{j} ) } }

输入描述:

第一行包含一个整数,表示数组的长度
第二行包含个整数,表示数组

0\leq a_{i} \leq 1e9

输出描述:

输出一个整数,表示公式的值
示例1

输入

复制
5
1 2 3 4 5

输出

复制
60

备注:

公式中  表示位运算中的按位或
公式中  表示位运算中的按位与