#joi2016yob. [joi2016yo_b]ゼッケンの交換 (Swapping Bibs)

[joi2016yo_b]ゼッケンの交換 (Swapping Bibs)

問題

JOI 高校の NN 人の生徒が東西に一列に並んでいる.列の西の端から ii 番目の生徒が生徒 ii である.それぞれの生徒は整数が 11 つ書かれたゼッケンを付けている.最初,生徒 ii のゼッケンには整数 AiA_i が書かれている.

バトンが MM 個あり,バトンには 11 から MM までの番号が付けられている.k=1,2,ldots,Mk = 1, 2, \\ldots, M に対し,以下の操作を行う.バトン kk (2leqqkleqqM2 \\leqq k \\leqq M) に関する操作は,バトン k1k - 1 に関する操作が終わってから行う.

  1. 先生がバトン kk を生徒 11 に渡す.
  2. バトンを受け取った生徒は,以下のルールに従ってバトンを渡す.
    • ルール:生徒 ii がバトン kk を受け取ったとする.
      • 1leqqileqqN11 \\leqq i \\leqq N - 1 のとき: 生徒 ii のゼッケンの整数を kk で割った余りが,生徒 i+1i + 1 のゼッケンの整数を kk で割った余りよりも大きいとき,生徒 ii と生徒 i+1i + 1 がゼッケンを交換し,生徒 ii は生徒 i+1i + 1 にバトンを渡す.そうでないときは,ゼッケンを交換せずに,生徒 ii は生徒 i+1i + 1 にバトンを渡す.
      • i=Ni = N のとき: 生徒 NN はバトンを先生に渡す.
  3. 先生が生徒 NN からバトン kk を受け取ったら,バトン kk に関する操作は終わりである.

生徒のゼッケンに最初に書かれていた整数とバトンの個数 MM が与えられたとき,先生が生徒 NN からバトン MM を受け取った後の,それぞれの生徒のゼッケンの整数を求めるプログラムを作成せよ.


入力

入力は 1+N1 + N 行からなる.

11 行目には整数 N,MN, M (1leqqNleqq1001 \\leqq N \\leqq 1001leqqMleqq1001 \\leqq M \\leqq 100) が空白を区切りとして書かれており,それぞれ生徒の人数とバトンの個数を表す.

続く NN 行のうちの ii 行目 (1leqqileqqN1 \\leqq i \\leqq N) には整数 AiA_i (1leqqAileqq10001 \\leqq A_i \\leqq 1000) が書かれており,生徒 ii のゼッケンに最初に書かれている整数 AiA_i を表す.

出力

出力は NN 行からなる.ii 行目 (1leqqileqqN1 \\leqq i \\leqq N) には,先生が生徒 NN からバトン MM を受け取った後の,生徒 ii のゼッケンの整数を出力せよ.


入力例 1

6 4
3
2
8
3
1
5

出力例 1

2
3
1
8
5
3

入出力例 11 では 66 人の生徒がいる.最初,生徒のゼッケンは順に 3,2,8,3,1,53, 2, 8, 3, 1, 5 である.バトンは 44 個ある.

  • バトン 11 に関する操作が終了した時点での生徒のゼッケンは順に 3,2,8,3,1,53, 2, 8, 3, 1, 5 である.
  • バトン 22 に関する操作が終了した時点での生徒のゼッケンは順に 2,8,3,3,1,52, 8, 3, 3, 1, 5 である.
  • バトン 33 に関する操作が終了した時点での生徒のゼッケンは順に 2,3,3,1,8,52, 3, 3, 1, 8, 5 である.
  • バトン 44 に関する操作が終了した時点での生徒のゼッケンは順に 2,3,1,8,5,32, 3, 1, 8, 5, 3 である.

入力例 2

10 6
1
2
3
4
5
6
7
8
9
10

出力例 2

6
1
2
3
10
4
8
7
9
5