#P2842. N-dimension Matching

N-dimension Matching

描述

让我们考虑一个nn维矩阵匹配问题。这里,矩阵每个维度的索引从11开始。对于两个nn维矩阵SSTT,如果存在一个位置(p1,p2,p3,p4,,pn)(p_1, p_2, p_3, p_4, \dots, p_n),满足TT中位置(t1,t2,t3,t4,,tn)(t_1, t_2, t_3, t_4, \dots, t_n)的元素与SS中位置$(p_1 + t_1 - 1, p_2 + t_2 - 1, p_3 + t_3 - 1, p_4 + t_4 - 1, \dots, p_n + t_n - 1)$的元素相同,则称其为匹配位置。因此,nn维问题就是为给定的SSTT计算匹配位置。可以认为传统的字符串匹配问题是该问题的11维版本,而普通的矩阵匹配问题是其22维版本。

输入

第一行包含一个不超过1010的正整数nn
第二行包含nn个正整数a1,a2,a3,,ana_1, a_2, a_3, \dots, a_n,表示矩阵SS各维度的范围。
第三行包含nn个正整数b1,b2,b3,,bnb_1, b_2, b_3, \dots, b_n,表示矩阵TT各维度的范围。
第四行给出矩阵SS的元素。
第五行给出矩阵TT的元素。

在单行中给出一个大小为c1×c2×c3××cnc_1 \times c_2 \times c_3 \times \dots \times c_nnn维矩阵时,矩阵中位置(d1,d2,d3,,dn)(d_1, d_2, d_3, \dots, d_n)的元素是该行的第$(c_2 \times c_3 \times \dots \times c_n \times (d_1 - 1) + c_3 \times c_4 \times \dots \times c_n \times (d_2 - 1) + \dots + c_n \times (d_{n-1} - 1) + d_n)$个元素。

我们保证biaib_i \leq a_iSSTT中的元素均为不超过100100的正整数,且SSTT的元素总数均不超过500000500000

输出

输出一行nn个整数p1,p2,p3,,pnp_1, p_2, p_3, \dots, p_n,表示匹配位置。如果有多个匹配位置,输出字典序最小的那个。题目保证至少存在一个匹配位置。

样例输入 1

2
4 4
2 2
3 2 1 1 2 2 2 1 1 2 2 2 1 1 2 2
2 2 2 2

样例输出 1

2 2

来源

POJ Monthly--2006.06.25, Long Fan