#P3. 驿站の栈

驿站の栈

问题描述

经过深思熟虑,上官来到下北泽的菜鸟驿站打工。这家店比较节约,只有两排竖着堆起来的货物,分别是 aa 与 bb,每一排可以看作一个栈。每个物品都有自己的编号,aa 堆的为 aia_i,bb 堆的为 bib_i。

某天,上官收到了一张取货清单,现在他需要 依次 一个一个一个把清单上的货物取出来(取完的货视为直接放到了店外面的车上,不占用店里的任何空间)。

由于店家非常节约,所以除了那两个栈 aa 与 bb 外,没有多余的地方堆货了;同时由于栈的性质,上官每次只能从栈顶取货。因此如果上官需要取的货物 xx 上面有其他货物,就要先把 xx 上面的货物一个一个一个地放到另一个栈的栈顶,最后才能取出 xx。

上官那傻傻的脑子又转了起来,他想知道对每次取货,需要移动多少次,好让心里有个底。但货物实在太多了,现在他想请你帮他算算这个答案是多少。

输入输出格式

输入格式

第一行为两个正整数 nn,mm,分别表示 aa 堆的货物数和 bb 堆的货物数。

第二行为 nn 个用空格隔开的正整数,从左到右分别表示 aa 堆的货物从顶部到底部的货物编号 aia_i。

第三行为 mm 个用空格隔开的正整数,从左到右分别表示 bb 堆的货物从顶部到底部的货物编号 bib_i。

第四行为一个正整数 kk,表示清单上的货物总数。

最后一行为 kk 个用空格隔开的正整数,表示每次取出货物的编号。

数据保证每个物品的编号都不相同。 清单上的物品一定存在两堆货物的其中一堆。 取走货物不算移动次数。

1⩽n, m⩽500001 \leqslant n, \space m \leqslant 50000,1⩽k⩽1000001 \leqslant k \leqslant 100000,1⩽ai, bi<2311 \leqslant a_i, \space b_i \lt 2^{31}。

输出格式

输出 kk 行,每行输出一个整数,表示每次取货物需要移动多少次其他货物。

测试样例

3 3
3 2 1
4 7 6
2
7 1
1
3

样例解释

第一次要取的是编号 77 的货物,它在 bb 堆上,但是由于上面有一个编号 44 的压着,因此需要移动一次 44 到 aa 堆,再取出 77。所以第一行输出 11。

第二次要取的是 11 号货物,它在 aa 堆上,但是由于上面两个编号为 33、22 的货物,还有一个在第一次取 77 过程中入栈的 44,所以 11 上面总共有三个货物,所以需要移动其他货物 33 次才能拿到 11。所以第二行输出 33。