Игрок пришёл в казино и нашёл игровой автомат, в котором всё зависит только от его действий. Игра устроена следующим образом.
На экране автомата написано число $$$a$$$. Положив монету в автомат, можно взять любые две соседние цифры числа на экране и либо прибавить к обеим $$$1$$$, либо вычесть $$$1$$$ из обеих. После этой операции все цифры по-прежнему должны принимать значения от $$$0$$$ до $$$9$$$, а также у числа не должно быть лидирующих нулей. Иными словами, нельзя вычитать $$$1$$$ из $$$0$$$, прибавлять $$$1$$$ к $$$9$$$, а также вычитать $$$1$$$ из цифры $$$1$$$, стоящей в старшем разряде числа. Как только на экране будет число $$$b$$$, игрок выиграет джекпот. Числа $$$a$$$ и $$$b$$$ имеют одинаковую длину.
Помогите игроку определить наименьшее число монет, которые нужно потратить, чтобы выиграть джекпот, и как именно нужно играть.
Первая строка содержит одно целое число $$$n$$$ ($$$2 \le n \le 10^5$$$) — длину чисел $$$a$$$ и $$$b$$$.
Следующие 2 строки содержат числа $$$a$$$ и $$$b$$$, по одному на каждой строке ($$$10^{n-1} \le a, b < 10^n$$$).
Если выиграть джекпот невозможно, в единственной строке выведите $$$-1$$$.
В противном случае в первой строке выведите наименьшее количество монет $$$c$$$, которые нужно потратить игроку, чтобы выиграть.
Затем выведите $$$\min(c, 10^5)$$$ строк. В $$$i$$$-й из них выведите два числа $$$d_i$$$ и $$$s_i$$$ ($$$1\le d_i\le n - 1$$$, $$$s_i = \pm 1$$$), означающие, что на $$$i$$$-м ходу игрок прибавит $$$s_i$$$ к цифрам, находящимся на местах $$$d_i$$$ и $$$(d_i + 1)$$$ слева (то есть, $$$d_i = 1$$$ означает, что меняются два старших разряда, а $$$d_i = n - 1$$$ — что два младших).
Обратите внимание, что ответ может быть очень большим, и в случае, если $$$c > 10^5$$$, Вам надо вывести лишь первые $$$10^5$$$ ходов. Ответ считается правильным, если можно закончить выведенные ходы таким образом, чтобы выиграть джекпот за наименьшее число ходов. В частности, если ответов несколько, можно вывести любой из них.
3 223 322
2 1 1 2 -1
2 20 42
2 1 1 1 1
2 35 44
-1
В первом примере можно сначала сделать операцию +1 на первых двух цифрах, то есть превратить число $$$\textbf{22}3$$$ в $$$\textbf{33}3$$$, а затем сделать операцию -1 на последних двух цифрах, то есть превратить $$$3\textbf{33}$$$ в $$$3\textbf{22}$$$.
Можно проделать эти две операции в обратном порядке, и это тоже будет правильным ответом.
Можно показать, что в последнем примере превратить $$$35$$$ в $$$44$$$ нельзя.
Название |
---|