#696. L2-5 GCG Pro max

L2-5 GCG Pro max

当前没有测试数据。

Description

给定三个排列 a,b,ca,b,cmm 次询问一个 xx,求 g(f(x))g(f(x))

对于 f(x)f(x),若排列 bb 中第 xx 个元素之后不存在满足 gcd(bi,bx)1\gcd(b_i,b_x)\neq 1bib_ii>xi>x),则 f(x)=bxf(x)=b_x。 反之 f(x)f(x) 的值为排列 bb 中第 xx 个元素之后第一个满足 gcd(bi,bx)1\gcd(b_i,b_x)\neq 1gcd(bx,bi)\gcd(b_x,b_i)

对于 g(x)g(x)g(x)=i=c[x]n[xai]g(x)=\sum\limits_{i=c[x]}^n[x\mid a_i]

其中 $[a\mid b]=\begin{cases}1&& a\mid b\\0 && a\nmid b\end{cases}$,aba\mid b 表示 bbaa 倍数,aba\nmid b 表示 bb 不是 aa 的倍数。

长度为 nn 的排列是一个由 nn 个不同整数组成的数组,这些整数从 11nn 以任意顺序排列。

Format

Input

第一行输入两个正整数 n,m(1n,m105)n,m(1\le n,m\le 10^5) 分别表示排列大小和询问次数。

第二行 nn 个正整数表示排列 aa

第三行 nn 个正整数表示排列 bb

第四行 nn 个正整数表示排列 cc

接下来 mm 行,每行一个正整数 x(1xn)x(1\le x\le n) 表示询问。

Output

输出共 mm 行,对于每次询问输出一行一个整数表示结果。

Samples

5 5
5 3 4 2 1
5 1 3 2 4
3 4 5 1 2
2
1
4
5
3
3
0
1
1
0