mを法とする和の計算

グラフィックスカード (GPU) 上での演算は非常に並列処理がしやすいという特徴があります。多くの数値に同じ種類の演算をまとめて実行できれば、個別に異なる種類の演算を行う場合よりも、高速に処理を進められるのです。チームは現在コードのテストを行っており、あなたには、異なる数 (m) を法として多数の数値の和を求めるプログラムを書いて結果を検証するように依頼してきました。

整数リスト a1,a2,...,ana_1, a_2, ..., a_n と b1,b2,...,bnb_1, b_2, ..., b_n が与えられたとき、それぞれの要素の組 aia_i と bib_i の和を mim_i を法として計算してください。つまり、求める式は次のとおりです:

(ai+bi)mod  mi(a_i + b_i) \mod m_i

ただし、プログラミング言語によっては剰余演算 (mod) の実装が異なる点に注意してください。Python は剰余演算の結果が常に正になるように実装されていますが、C++ のような言語では -3 % 2 → -1 のように、負の値が返る場合があります。多く使われる方法としては、剰余を取った結果が負の値ならば、if 文を使って m を足すやり方があります。より汎用的な対処法としては、((a % m) + m) % m のように、あらためて m を足してもう一度剰余を取ることで、結果が常に正になるようにできます。

入力

最初の行には、要素数を示す整数 n (1 ≤ n ≤ 100 000) が与えられます。

2 行目には、n 個の整数 a1,a2,...,ana_1, a_2, ..., a_n (各 aia_i は −109-10^9 以上 10910^9 以下) がスペース区切りで与えられます。

次の行には、同じく n 個の整数 b1,b2,...,bnb_1, b_2, ..., b_n (各 bib_i は −109-10^9 以上 10910^9 以下) がスペース区切りで与えられます。

最後の行には、n 個の整数 m1,m2,...,mnm_1, m_2, ..., m_n (1 ≤ mim_i ≤ 10910^9) がスペース区切りで与えられます。

出力

n 個の整数 (ai+bi)mod  mi(a_i + b_i) \mod m_i をスペース区切りで出力してください。

例

入力

出力

3
1 2 1
3 4 1
2 5 3

0 1 2

解説

  1. (1+3)mod  2=4mod  2=0(1 + 3) \mod 2 = 4 \mod 2 = 0

  2. (2+4)mod  5=6mod  5=1(2 + 4) \mod 5 = 6 \mod 5 = 1

  3. (1+1)mod  3=2mod  3=2(1 + 1) \mod 3 = 2 \mod 3 = 2

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB