Олимпиадный тренинг

Задача . C. Неправильное сложение


Задача

Темы: реализация *1200

Таня учится складывать числа столбиком, но пока что делает это неправильно. Она складывает два числа \(a\) и \(b\) по следующему алгоритму:

  1. Если одно из чисел число короче, чем другое, то Таня дописывает в его начало нули таким образом, чтобы числа оказалиcь одинаковыми по длине.
  2. Цифры обрабатываются справа налево (то есть от наименее значимых цифр к наиболее значимым).
  3. На первом шаге она складывает последнюю цифру числа \(a\) с последней цифрой числа \(b\) и записывает в ответ их сумму.
  4. На каждом следующем шаге она производит ту же самую операцию с каждой парой цифр, стоящих в одном разряде, приписывая результат каждый раз слева.

Например, числа \(a = 17236\) и \(b = 3465\) Таня сложит следующим образом:

\(\) \large{ \begin{array}{r} + \begin{array}{r} 17236\\ 03465\\ \end{array} \\ \hline \begin{array}{r} 1106911 \end{array} \end{array}} \(\)

  • сложит \(6 + 5 = 11\) и запишет в ответ \(11\).
  • сложит \(3 + 6 = 9\) и допишет результат слева к ответу, получит \(911\).
  • сложит \(2 + 4 = 6\) и допишет результат слева к ответу, получит \(6911\).
  • сложит \(7 + 3 = 10\) и допишет результат слева к ответу, получит \(106911\).
  • сложит \(1 + 0 = 1\) и допишет результат слева к ответу, получит \(1106911\).

В результате сложения она получит \(1106911\).

Вам задано два целых положительных числа \(a\) и \(s\). Найдите такое число \(b\), что, сложив числа \(a\) и \(b\) как описано выше, Таня получит \(s\). Или определите, что подходящего \(b\) не существует.

Входные данные

В первой строке входных данных записано целое число \(t\) (\(1 \le t \le 10^4\)) — количество наборов входных данных в тесте.

Каждый набор входных данных состоит из единственной строки, содержащей два целых положительных числа \(a\) и \(s\) (\(1 \le a \lt s \le 10^{18}\)), разделенных пробелом.

Выходные данные

Для каждого набора входных данных выведите ответ на отдельной строке.

Если решение существует, то выведите единственное целое положительное число \(b\). Ответ должен быть записан без ведущих нулей. Если существует несколько ответов, выведите любой из них.

Если же подходящего числа \(b\) не существует, то выведите -1.

Примечание

Первый набор входных разобран в основной части условия.

В третьем наборе входных данных нельзя подобрать \(b\), удовлетворяющее условию задачи.


Примеры
Входные данныеВыходные данные
1 6
17236 1106911
1 5
108 112
12345 1023412
1 11
1 20
3465
4
-1
90007
10
-1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя