Problem4865--数对

4865: 数对

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

老师得到了一个包含 $n$ 个数的数列,他会从中选出两个不同位置的数形成一个数对,要求较左边的数对 $3$ 取余的结果小于等于较右边的数对 $3$ 取余的结果,问有多少种选法。

Input

输入两行,第一行包含一个正整数 $n$,表示数列中数的数量。
第二行包含 $n$ 个正整数,$a_i$ 表示数列中的第 $i$ 个数。

Output

输出一行,为一个整数,为所求的答案。

Sample 1 Input

4
1 3 4 2

Sample 1 Output

5

HINT

【数据范围】
对于 $60\%$ 的数据,$1 \leq n \leq 10 ^ 3, 1 \leq a_i \leq 10 ^ 6$。
对于 $100\%$ 的数据,$1 \leq n \leq 10 ^ 5, 1 \leq a_i \leq 10 ^ 9$。

Source/Category

基础算法 4.7.排序