Գումարի հաշվում մոդուլո m-ով

Գրաֆիկական քարտի (GPU) վրա գործողությունները շատ հեշտ է զուգահեռացնել. եթե հնարավոր է միաժամանակ նույն տեսակի գործողություն կատարել բազմաթիվ թվերի վրա, ապա այն սովորաբար ավելի արագ է, քան ամեն անգամ տարբեր գործողություններ կատարելը: Այս պահին թիմը թեստավորում է իրենց կոդը և նրանք խնդրում են գրել ծրագիր, որը կստուգի թե արդյոք բազմաթիվ թվերի գումարման գործողությունը ճիշտ է հաշված տարբեր մոդուլոներով:

Տրված են երկու ամբողջ թվերի զանգվածներ 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

Ուշադրություն դարձրեք, որ տարբեր ծրագրավորման լեզուներ տարբեր ձևով են իրականացնում մոդուլո գործողությունը. Python-ում արդյունքը միշտ դրական է ստացվում, իսկ օրինակ C++-ում հնարավոր է ստանալ բացասական մնացորդ (օր. -3 % 2 → -1): Շատ հայտնի հնարք է օգտագործել if պայմանը, որպեսզի, եթե մնացորդը բացասական է, գումարեք m: Կամ էլ կարելի է կիրառել առավել ընդհանրացած տարբերակ, երբ ամեն դեպքում ավելացնում եք m և նորից մոդուլո եք անում. Այսինքն ((a % m) + m) % m: Սա կապահովի, որ վերջնական արդյունքը միշտ դրական լինի:

Մուտք

Մուտքի առաջին տողում տրված է մեկ ամբողջ թիվ n (1 ≤ n ≤ 100 000), որը տարրերի քանակն է:

Երկրորդ տողը պարունակում է n ամբողջ թվեր a1,a2,...,ana_1, a_2, ..., a_n (−109-10^9 ≤ aia_i ≤ 10910^9):

Հաջորդ տողը պարունակում է n ամբողջ թվեր b1,b2,...,bnb_1, b_2, ..., b_n (−109-10^9 ≤ bib_i ≤ 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