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

Задача . C. Длинное умножение


Вам даны два целых числа \(x\) и \(y\) одинаковой длины, состоящие из цифр от \(1\) до \(9\).

Вы можете выполнять следующую операцию любое количество раз (возможно, ни разу): менять местами \(i\)-ю цифру в \(x\) и \(i\)-ю цифру в \(y\).

Например, если \(x=73\) и \(y=31\), вы можете поменять местами \(2\)-е цифры и получить \(x=71\) и \(y=33\).

Ваша задача — максимизировать произведение \(x\) и \(y\), используя вышеописанную операцию. Если есть несколько ответов, выведите любой из них.

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

Первая строка содержит одно целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число \(x\) (\(1 \le x < 10^{100}\)).

Вторая строка каждого набора входных данных содержит одно целое число \(y\) (\(1 \le y < 10^{100}\)).

Дополнительное ограничение на входные данные: целые числа \(x\) и \(y\) состоят только из цифр от \(1\) до \(9\).

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

Для каждого набора входных данных выведите две строки — первая строка должна содержать число \(x\) после применения операций; аналогично, вторая строка должна содержать число \(y\) после применения операций. Если ответов несколько, выведите любой из них.


Примеры
Входные данныеВыходные данные
1 3
73
31
2
5
3516
3982
71
33
5
2
3912
3586

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

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