005 - カウンター (Counter)

時間制限 8 秒 / メモリ制限 256 MB / 得点 100 / x 0 /


TLE
8sec
MLE
256MB
得点
100

問題

ミズゴロウのゴロウくんは, DCPC ( Dice Counting Programming Contest ) に出場するために, N 桁のカウンターで数をかぞえる特訓を毎日している.彼が練習しているカウンターには, 次の2つの機能があり, ゴロウくんは, 1 秒間に 1 度だけどちらかの機能を使うことができる.

  • 表示されている数に 1 を加算する. ただし, 表示されている数がカウンターで表せる数の最大値だった場合, 0 に戻る. たとえば N = 3 のとき, 101 は 102 , 999 は 000 に変わる.
  • カウンターの先頭の桁と同じ値の全ての桁に 1 を加算する. ただし, 先頭の数が 9 だった場合, それらの数はすべて 0 になる. たとえば, N = 4 のとき, 1131 は 2232 , 9982 は 0082 に変わる.

ゴロウくんは, M 個の数の組 ( Ai , Bi )について, このカウンターで, Ai から初めて Bi を作るのに最短で何秒かかるのかが気になった. 入力として N, M の値と M 個の数の組 ( Ai, Bi ) が与えられるとき, Ai から初めて Bi を作るのに必要な秒数の最小値を求めよ.

入力

入力は M + 1 行からなる.
1 行目には 2 つの整数 N, M ( 1 ≦ N ≦ 6 , 1 ≦ M ≦ 1000 ) が空白を区切りとして書かれている.
1 + i 行目には, 2 つの整数 Ai, Bi (0 ≦ Ai , Bi < 10N)が空白を区切りとして書かれている.
ここで, i ≠ j であれば, Ai ≠ Aj または Bi ≠ Bj が保証されている.

出力

i ( 1 ≦ i ≦ M ) 行目に, Ai から初めて Bi を作るのに必要な秒数の最小値を求めよ.

入出力例

入力例 1

3 5
000 001
123 224
000 999
999 000
000 998

出力例 1

1
2
9
1
19