Codeforces Round 543 (Div. 2, based on Technocup 2019 Final Round)
E
Once in a casino
Codeforces
未评级
原题
← DF →
翻译中…

One player came to a casino and found a slot machine where everything depends only on how he plays. The rules follow.

翻译中…

A positive integer a is initially on the screen. The player can put a coin into the machine and then add 1 to or subtract 1 from any two adjacent digits. All digits must remain from 0 to 9 after this operation, and the leading digit must not equal zero. In other words, it is forbidden to add 1 to 9, to subtract 1 from 0 and to subtract 1 from the leading 1. Once the number on the screen becomes equal to b, the player wins the jackpot. a and b have the same number of digits.

翻译中…

Help the player to determine the minimal number of coins he needs to spend in order to win the jackpot and tell how to play.

翻译中…

Input

翻译中…

The first line contains a single integer n (2≤n≤105) standing for the length of numbers a and b.

翻译中…

The next two lines contain numbers a and b, each one on a separate line (10n−1≤a,b<10n).

翻译中…

Output

翻译中…

If it is impossible to win the jackpot, print a single integer −1.

翻译中…

Otherwise, the first line must contain the minimal possible number c of coins the player has to spend.

翻译中…

min lines should follow, i-th of them containing two integers d_i and s_i (1\le d_i\le n - 1, s_i = \pm 1) denoting that on the i-th step the player should add s_i to the d_i-th and (d_i + 1)-st digits from the left (e. g. d_i = 1 means that two leading digits change while d_i = n - 1 means that there are two trailing digits which change).

翻译中…

Please notice that the answer may be very big and in case c \gt 10^5 you should print only the first 10^5 moves. Your answer is considered correct if it is possible to finish your printed moves to win the jackpot in the minimal possible number of coins. In particular, if there are multiple ways to do this, you can output any of them.

翻译中…

Note

翻译中…

In the first example, we can make a +1 operation on the two first digits, transforming number \textbf{22}3 into \textbf{33}3, and then make a -1 operation on the last two digits, transforming 3\textbf{33} into 3\textbf{22}.

翻译中…

It's also possible to do these operations in reverse order, which makes another correct answer.

翻译中…

In the last example, one can show that it's impossible to transform 35 into 44.

翻译中…

样例

Input #1
3
223
322
Output #1
2
1 1
2 -1
InputCopy OutputCopy
Input #2
2
20
42
Output #2
2
1 1
1 1
InputCopy OutputCopy
Input #3
2
35
44
Output #3
-1
InputCopy OutputCopy
题目信息
题号
1121E
时间限制
1 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。