你是否体验过 $1010 \times 1010$ 的网格计算?这是日本常见的一种数学练习。在本题中,我们考虑该练习的推广形式:$N \times M$ 网格计算。
在此练习中,你将得到一个 $N \times M$ 的网格(即一个有 $N$ 行 $M$ 列的网格),并在网格的顶部和左侧分别额外增加一行和一列。额外行和列中的每个单元格都包含一个正整数。我们将列和行上的整数序列分别记为 $a$ 和 $b$,其中列中从上往下第 $i$ 个整数为 $a_i$,行中从左往右第 $j$ 个整数为 $b_j$。
最初,网格中的每个单元格(额外行和列除外)都是空白的。令 $(i, j)$ 为从上往下第 $i$ 行、从左往右第 $j$ 列的单元格。练习要求你填满所有单元格,使得单元格 $(i, j)$ 中的值为 $a_i \times b_j$。你必须从左上角的单元格开始。你需要重复计算当前单元格 $(i, j)$ 的乘积 $a_i \times b_j$,然后从左到右移动,直到到达最右侧的单元格,接着移动到下一行最左侧的单元格。
练习结束时,你会在单元格中写下非常、非常多的数字。给你布置这项练习的老师似乎很想检查网格上的所有单元格,以确认你是否完成了练习。因此,老师认为如果你能回答出随机选择的 $x$ 所对应的第 $d$ 位数字(不是整数,请参见下文示例),就算你完成了练习。让我们看一个例子。
对于这个例子,你依次计算单元格的值,结果为 $8, 56, 24, 1, 7, 3$。因此,你会写下的数字序列为 $8, 5, 6, 2, 4, 1, 7, 3$。所以,针对第 $4$ 位数字的询问,答案是 $2$。
你注意到,即使没有完成给定的练习,你也可以回答此类问题。给定列 $a$、行 $b$ 以及 $Q$ 个整数 $d_1, d_2, \dots, d_Q$,你的任务是对于每个 $k$,回答如果你在给定网格上完成了此练习,你会写下的第 $d_k$ 位数字。注意,你的老师并不那么友善(不幸的是),所以可能会询问超过你实际会写下的数字位数。对于此类问题,你应该回答 'x' 而不是数字。
输入格式
第一行包含两个整数 $N$ ($1 \le N \le 10^5$) 和 $M$ ($1 \le M \le 10^5$),分别是网格的行数和列数。
第二行表示一个包含 $N$ 个整数的序列 $a$,其中第 $i$ 个整数是左侧额外列中从上往下第 $i$ 个位置的整数。满足 $1 \le a_i \le 10^9$ ($1 \le i \le N$)。
第三行表示一个包含 $M$ 个整数的序列 $b$,其中第 $j$ 个整数是顶部额外行中从左往右第 $j$ 个位置的整数。满足 $1 \le b_j \le 10^9$ ($1 \le j \le M$)。
第四行包含一个整数 $Q$ ($1 \le Q \le 3 \cdot 10^5$),即老师会提出的问题数量。
第五行包含一个包含 $Q$ 个整数的序列 $d$,其中第 $k$ 个整数是老师提出的第 $k$ 个问题,意味着你需要回答在此练习中你会写下的第 $d_k$ 位数字。满足 $1 \le d_k \le 10^{15}$ ($1 \le k \le Q$)。
输出格式
输出一个包含 $Q$ 个字符的字符串,其中第 $k$ 个字符是第 $k$ 个问题的答案,输出在一行中。如果 $d_k$ 不超过你会写下的数字总位数,则答案为第 $d_k$ 位数字,否则为 'x'。
样例
样例输入 1
2 3 8 1 1 7 3 5 1 2 8 9 1000000000000000
样例输出 1
853xx
样例输入 2
3 4 271 828 18 2845 90 45235 3 7 30 71 8 61 28 90 42
样例输出 2
7x406x0
Figure 1. Example of the grid calculation process