Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Người đăng:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python
Xét hai số nguyên dương ~u, v~, ta gọi thao tác ghép hai số ~u, v~ là thao tác viết số ~v~ sau số ~u~.
Ví dụ: Với ~u = 123, v = 456~, sau khi ta ghép hai số ~u, v~ với nhau, ta được số ~123456~.
Cho ~n~ số nguyên dương ~a_1, a_2, ..., a_n~.
Hãy cho biết: Có bao nhiêu cặp chỉ số ~(i, j) \ (1 \le i \lt j \le n)~ sao cho khi ta thực hiện thao tác ghép hai số ~a_i, a_j~, ta được một số mới chia hết cho ~3~?
Input
- Dòng đầu tiên chứa số nguyên dương ~n \ (n \ge 2);~
- Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, ..., a_n.~
Output
In ra kết quả là số cặp chỉ số ~(i, j)~ thoả mãn đề bài.
Scoring
- Subtask 1 [20%]: ~n \le 1000; \ a_i \le 10^9;~
- Subtask 2 [40%]: ~n \le 10^5; \ a_i \le 10^{18};~
- Subtask 3 [40%]: ~n \le 10^5; \ a_i \le 10^{100}.~
Examples
Input
7
123 4 5 7 10 3 2
Output
7
Giải thích: Các cặp chỉ số thoả mãn yêu cầu đề bài là: ~(1, 6), (2, 3), (2, 7), (3, 4), (3, 5), (4, 7), (5, 7).~