#P3276. [SCOI2011] 镜像拆分

[SCOI2011] 镜像拆分

题目描述

lxhgww 非常喜欢数字游戏,他发现,很多数都可以表示成两个相互反转的数之和,他把这个现象称为数的“镜像拆分”。比如 6666 共有五种镜像拆分方法:66=15+51=24+42=33+33=42+24=51+1566=15+51=24+42=33+33=42+24=51+15。注意,前导 0 是不允许的,所以 66=60+0666=60+06 不算做合法的镜像拆分。现在 lxhgww 想知道,在 K 进制下,对于在 [A,B][A,B] 区间内的数,其镜像拆分的方案数之和是多少?

输入格式

输入的第一行是一个数 KK。输入的第二行是一个数 nn,表示数字 AA 的长度。接下来 nn 行,表示 AA 从低位开始的每一位数字。然后是一个数 mm,表示数字 BB 的长度。接下来 mm 行,表示 BB 从低位开始的每一位数字。

输出格式

输出一行,包含一个整数,表示镜像拆分的方案数之和。由于这个答案非常大,只需要输出这个答案除以 2011052120110521 的余数。

10
2
6
6
2
6
6
5

提示

对于 20%20\% 的数据,保证:2K1002\le K\le1001n,m1001\le n,m\le100

对于 50%50\% 的数据,保证:2K10002\le K\le10001n,m10001\le n,m\le1000

对于 100%100\% 的数据,保证:2K1052\le K\le10^51n,m1051\le n,m\le10 ^ 5

对于所有的数据,保证:0<AB0\lt A\le BA,BA,B 的每一位数字都在 [0,K1][0, K-1] 的范围内,没有前导零。