Su0ka game

  • 入出力例3に余分な行が含まれていましたので修正しました。

問題文

moguさんはとあるゲームをしている。このゲームのルールは次の通りである。

  • NN 種類の果物と箱がある。最初、箱に果物は入っていない。この箱の中に同じ種類の果物が 22 つ以上入っているとき、そのような果物がなくなるまで次のことが起こる。

  • ii 番目の種類の果物が 22 つ以上ある場合、そのうちの 22 つが合体して、i+1i+1 番目の種類の果物 11 つになる。ただし、 i=Ni=N の場合は合体した果物が別の種類の果物になることなくそのまま消滅する。

moguさんは最初の状態から QQ 回次の操作を行う。ただし、文章中の jj はその操作が何番目の操作かを示している。

  • (操作) 箱の中に、aja_j 番目の種類の果物を cjc_j 個入れる。果物の合体が起こる場合は合体が最後まで終わるまで待つ。

QQ 回の操作が全て終わった後、箱の中に入っている果物の種類をすべて答えよ。QQ 回の操作後に箱の中に入っている果物の種類は果物の合体の順番によらず一意に定まることが証明できる。

制約

  • 1N301 \leq N \leq 30
  • 1Q5×1051 \leq Q \leq 5 \times 10^{5}
  • 1ajN(1jQ)1 \leq a_j \leq N(1 \leq j \leq Q)
  • 1cj1091 \leq c_j \leq 10^{9}

入力

入力はすべて整数である。

N Q
a_1 c_1
a_2 c_2
...
a_Q c_Q

出力

箱の中に入っている果物の種類を数字の昇順にすべて一行に出力せよ。

サンプル

入力1
3 3
1 1
3 1
1 2
出力1
1 2 3

11 つ目の操作のあと、箱の中には 種類 11 の果物が 11 つ入っています。

22 つ目の操作のあと、箱の中には 種類 1,31,3 の果物が 11 つづつ入っています。

33 つ目の操作で種類 11 の果物を 11 つ入れたあと、箱の中には 種類 11 の果物が 33 つ、種類 33 の果物が 11 つ入っています。続いて、種類 11 の果物 22 つが合体して 種類 22 の果物 11 つ になり、どの種類の果物も11 つ以下となったので操作が終わります。箱の中には 種類 1,2,31,2,3 の果物が 11 つづつ入っています。

33 回の操作のあとに箱の中に入っている果物の種類は 種類 1,2,31,2,3 なので、1 2 3と出力します。

入力2
3 2
1 4
3 1
出力2

11 つ目の操作で種類 11 の果物を 44 つ入れたあと、箱の中には 種類 11 の果物が 44 つ入っています。続いて、種類 11 の果物 22 つが合体して 種類 22 の果物 11 つになり、同じことがもう一度起こって 種類 22 の果物が 22 つになります。さらに、種類 22 の果物 22 つが合体して 種類 33 の果物 11 つになり、操作が終わります。箱の中には 種類 33 の果物が 11 つ入っています。

22 つ目の操作で種類 33 の果物を 11 つ入れたあと、箱の中には 種類 33 の果物が 22 つ入っています。続いて、種類 33 の果物 22 つが合体して消滅し、操作が終わります。箱の中には果物がありません。 22 回の操作のあとに箱の中には果物が入っていないので、空の行を出力してください。

入力3
10 6
1 1000
3 40
8 3
1 21
7 11
10 100
出力3
1 3 4 5 7 8

Submit


Go (1.21)