#CF1895C. 撕开的幸运票

撕开的幸运票

撕开的幸运票

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

一张票是由数字 11 到 99 组成的非空字符串。

一张幸运票满足以下条件:

  • 它的长度是偶数;
  • 前一半数字之和等于后一半数字之和。

现在给定 nn 张票片 s1,s2,…,sns_1, s_2, \dots, s_n。有多少对 (i,j)(i, j)(1≤i,j≤n1 \le i, j \le n)满足 si+sjs_i + s_j 是一张幸运票?注意,i=ji = j 也是允许的。

这里,++ 操作表示两个字符串的连接。例如,如果 sis_i 是 13,sjs_j 是 37,那么 si+sjs_i + s_j 就是 1337。

输入格式

第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5),表示票片的数量。

第二行包含 nn 个非空字符串 s1,s2,…,sns_1, s_2, \dots, s_n,每个字符串长度不超过 55,且只包含数字 11 到 99。

输出格式

输出一个整数,表示有多少对 (i,j)(i, j)(1≤i,j≤n1 \le i, j \le n)满足 si+sjs_i + s_j 是一张幸运票。

样例输入 1

10
5 93746 59 3746 593 746 5937 46 59374 6

样例输出 1

20

样例输入 2

5
2 22 222 2222 22222

样例输出 2

13

样例输入 3

3
1 1 1

样例输出 3

9

数据范围

对于所有数据,1≤n≤2×1051\le n\le2\times10^5,每个字符串非空、长度不超过 55,且只含数字 11 到 99。

子任务编号 分值 特殊限制
1 30 n≤2000n\le2000
2 所有字符串长度相同
3 40 无特殊限制