数学老师在课堂上,给小 A 列出一个方程 (a+2 \times b+2 \times c + d) \times (b+c+e+f) \times (2 \times f + g)。
另外,给出方程中的 7 个变量 a,b,c,d,e,f,g 所有可能的取值。要求小 A 计算中,有多少种不同的取值方案,可以使得方程计算出来的结果,恰好是 7 的倍数。
经过小 A 的认真计算,他已经得到了答案,请你编程帮助小 A 计算出答案,帮助小 A 确认一下自己计算的结果是否正确。
第 1 行读入一个整数 N,表示老师给出的变量取值的可能数量。
接下来的 N 行,每行先读入一个字符代表变量名称,再读入一个整数,表示该变量可能的某种取值。
输出一个整数,代表方程计算的结果正好是 7 的倍数的方案总数。
10 a 2 a 3 b 5 c 7 d 10 d 9 e 1 f 16 g 19 g 2
2
22 f 4 b 5 b 7 c 17 f 18 d 10 b 20 f 3 g 5 f 8 a 6 e 10 c 9 g 8 b 1 e 11 a 16 b 0 d 16 f 1 d 4 e 16
894
35 d -58227 c -89484 a -88084 e -5064 d -2368 f 1940 g -32954 a -49273 b -33709 d -8284 e 2981 b -56999 g -64169 b -65477 c -13264 d -61123 a -50984 b 7849 g 6705 c -66250 e -89967 f -7286 d -18135 d -45738 d -76048 g -52330 f -30868 e -31583 a -27093 b -59666 g -58292 g -32903 c -24513 d -83671 c -37748
14016
样例 1 有两种不同的方案,可以使得方程计算出来的结果是 7 的倍数。
方案 1:
a = 2, b = 5, c = 7, d = 9, e = 1, f = 16, g = 19,方程计算结果为:51765。
方案 2:
a = 2, b = 5, c = 7, d = 9, e = 1, f = 16, g = 2,方程计算结果为:34510。
对于所有的测试数据,保证 1 \le N \le 3500,给定的 N 个变量可能的取值中,a,b,c,d,e,f,g 这 7 个变量,每个变量至少出现 1 次,至多出现 500 次,变量的取值范围在 [-10^5, 10^5] 之间。同时保证最终的方案总数不超过 2^{63} 种。
| 测试点 | N | 特殊性质 |
|---|---|---|
| 1 | N=7 | A |
| 2,3 | 1 \le N \le 100 | B |
| 4 \sim 10 | 1 \le N \le 3500 | 无 |
特殊性质A:a,b,c,d,e,f,g 这 7 个变量,每个变量的取值都只出现 1次。
特殊性质B:给定的 N 个变量可能的取值中,所有变量的取值均为非负整数。