#Lutece0441. 镜像拆分(Small-Input)

镜像拆分(Small-Input)

Migrated from Lutece 441 镜像拆分(Small-Input)

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

lxhgww非常喜欢数字游戏,他发现,很多数都可以表示成两个相互反转的数之和,他把这个现象称为数的“镜像拆分”。比如6666共有五种镜像拆分方法:

66 = 15 + 51
66 = 24 + 42
66 = 33 + 33
66 = 42 + 24
66 = 51 + 15

注意,前导00是不允许的,所以66=60+0666 = 60 + 06不算做合法的镜像拆分。

现在lxhgww想知道,在KK进制下,对于在[A,B][A, B]区间内的数,其镜像拆分的方案数之和是多少?

Input

输入的第一行是一个数KK(2K10002\leq K\leq 1000)。

输入的第二行是一个数nn(1n10001\leq n\leq 1000),表示数字AA的长度。

接下来nn行,表示AA从低位开始的每一位数字。

然后是一个数mm(1m10001\leq m\leq 1000),表示数字BB的长度。

接下来mm行,表示BB从低位开始的每一位数字。

数据保证,0<AB0 < A\leq BAA, BB的每一位数字都在 [0,K1][ 0, K-1 ]的范围内,没有前导00

Output

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

Samples

10
2
6
6
2
6
6
5
10
1
1
4
0
0
0
1
410

Resources

SCOI 2011