#ddcc2020quald. [ddcc2020_qual_d]Digit Sum Replace

[ddcc2020_qual_d]Digit Sum Replace

配点: 500500

問題文

DDCC 20XX の予選には,NN 人のプログラマーが参加する予定です.しかし,会場の都合上,本戦には 99 人までしか参加できません.

そこで,予選を何ラウンドかに分けて勝ち抜き方式で行うことにしました.これは,以下のルールに従って行われます.

  • 最初のラウンドには NN 人全員が参加する.
  • あるラウンドに X(Xgeq10)X \\ (X \\geq 10) 人が参加するとき,次のラウンドに勝ち残る人数を以下のように決定する.
    • XX の十進表記において,ある連続する 22 桁を選び,それらをその和で置き換えて得られる数を勝ち残る人数とする.
      例えば,X=2378X = 2378 のとき,勝ち残る人数は 578578 (2,32,3 を選んだ場合),21082108 (3,73,7 を選んだ場合),23152315 (7,87,8 を選んだ場合) 人のいずれかとなる.
      X=100X = 100 のときは,どちらの 22 桁を選んだとしても勝ち残る人数は 1010 人となる.
  • 勝ち残った人数が 99 人以下となったら,予選を終了する.

DDCC 20XX の運営リーダーであるりんごさんは,できるだけ多くの予選ラウンドを開催したいです.
最大で何ラウンドの予選を開催できるか求めてください.

ただし,参加者数 NN は非常に多くなる場合があるので,22 つの整数列 d1,ldots,dMd_1, \\ldots, d_Mc1,ldots,cMc_1, \\ldots, c_M として与えられます.
これは,NN が十進表記において c1+c2+ldots+cMc_1 + c_2 + \\ldots + c_M 桁の数であり,その先頭の c1c_1 桁の数字がいずれも d1d_1,続く c2c_2 桁の数字がいずれも d2d_2ldots\\ldots,最後の cMc_M 桁の数字がいずれも dMd_M であることを表します.

制約

  • 1leqMleq2000001 \\leq M \\leq 200000
  • 0leqdileq90 \\leq d_i \\leq 9
  • d1neq0d_1 \\neq 0
  • dineqdi+1d_i \\neq d_{i+1}
  • cigeq1c_i \\geq 1
  • 2leqc1+ldots+cMleq10152 \\leq c_1 + \\ldots + c_M \\leq 10^{15}

入力

入力は以下の形式で標準入力から与えられます.

MM d1d_1 c1c_1 d2d_2 c2c_2 :: dMd_M cMc_M

出力

予選ラウンドの数の最大値を出力してください.


入力例 1

2
2 2
9 1

出力例 1

3

この場合,予選の最初のラウンドには N=229N=229 人が参加します.大会の経過の一例として、次のパターンがありえます.

  • ラウンド 11229229 人が参加し,ラウンド 224949 人が参加し,ラウンド 331313 人が参加し,本戦に 44 人が進出する.

このとき,予選は 33 ラウンド行われ、これが実は最適であることが分かります。


入力例 2

3
1 1
0 8
7 1

出力例 2

9

この場合,最初のラウンドには 10000000071000000007 人が参加します.