K - Ord 2 Counting Editorial /

Time Limit: 5 sec / Memory Limit: 1024 MiB

問題文

正整数 x に対して、 \rm{ord}_2(x) を 「 x2 で割り切れる回数」で定義します。
例えば \rm{ord}_2(24)=3, \rm{ord}_2(17)=0, \rm{ord}_2(32)=5 です。

長さ N の整数列 A=(A_1,A_2,\dots,A_N) が与えられます。
\displaystyle \sum^{N}_{ i=1 } \displaystyle \sum^{N}_{ j=i+1 } \rm{ord}_2(A_i + A_j) を求めてください。

制約

  • 入力は全て整数
  • 2 \le N \le 10^5
  • 1 \le A_i \le 10^9

入力

入力は以下の形式で標準入力から与えられる。

N
A_1 A_2 \dots A_N

出力

答えを整数として出力せよ。


入力例 1

5
2 3 5 7 11

出力例 1

12
  • \rm{ord}_2(2+3) = \rm{ord}_2(5) = 0
  • \rm{ord}_2(2+5) = \rm{ord}_2(7) = 0
  • \rm{ord}_2(2+7) = \rm{ord}_2(9) = 0
  • \rm{ord}_2(2+11) = \rm{ord}_2(13) = 0
  • \rm{ord}_2(3+5) = \rm{ord}_2(8) = 3
  • \rm{ord}_2(3+7) = \rm{ord}_2(10) = 1
  • \rm{ord}_2(3+11) = \rm{ord}_2(14) = 1
  • \rm{ord}_2(5+7) = \rm{ord}_2(12) = 2
  • \rm{ord}_2(5+11) = \rm{ord}_2(16) = 4
  • \rm{ord}_2(7+11) = \rm{ord}_2(18) = 1

これらの合計は 12 です。


入力例 2

2
8 13

出力例 2

0

入力例 3

10
101736933 345226906 942125603 745512475 134406781 47730141 402464131 460079462 359290644 211134700

出力例 3

161

サンプルには含まれませんが、答えが 32 bit 符号付き整数型に収まらない場合があるので注意してください。

Problem Statement

For a positive integer x, let \rm{ord}_2(x) be the number of times 2 divides x.
For example, \rm{ord}_2(24)=3, \rm{ord}_2(17)=0, and \rm{ord}_2(32)=5.

You are given a length-N sequence of integers A=(A_1,A_2,\dots,A_N).
Find \displaystyle \sum^{N}_{ i=1 } \displaystyle \sum^{N}_{ j=i+1 } \rm{ord}_2(A_i + A_j).

Constraints

  • All input values are integers.
  • 2 \le N \le 10^5
  • 1 \le A_i \le 10^9

Input

The input is given from Standard Input in the following format:

N
A_1 A_2 \dots A_N

Output

Print the answer as an integer.


Sample Input 1

5
2 3 5 7 11

Sample Output 1

12
  • \rm{ord}_2(2+3) = \rm{ord}_2(5) = 0
  • \rm{ord}_2(2+5) = \rm{ord}_2(7) = 0
  • \rm{ord}_2(2+7) = \rm{ord}_2(9) = 0
  • \rm{ord}_2(2+11) = \rm{ord}_2(13) = 0
  • \rm{ord}_2(3+5) = \rm{ord}_2(8) = 3
  • \rm{ord}_2(3+7) = \rm{ord}_2(10) = 1
  • \rm{ord}_2(3+11) = \rm{ord}_2(14) = 1
  • \rm{ord}_2(5+7) = \rm{ord}_2(12) = 2
  • \rm{ord}_2(5+11) = \rm{ord}_2(16) = 4
  • \rm{ord}_2(7+11) = \rm{ord}_2(18) = 1

Their sum is 12.


Sample Input 2

2
8 13

Sample Output 2

0

Sample Input 3

10
101736933 345226906 942125603 745512475 134406781 47730141 402464131 460079462 359290644 211134700

Sample Output 3

161

Note that the answer may not fit into 32-bit integer type, which is not exemplified in the samples.