eolymp
bolt
Try our new interface for solving problems
Məsələlər

Следующая перестановка

Следующая перестановка

На вход программы поступает строка из десятичных цифр. Вывести перестановку этих десятичных цифр, дающую следующее по величине за заданным десятичное число. Например: \textbf{123 → 132} \textbf{279134399742 → 279134423799} Вполне возможно, что входные данные могут содержать набор цифр, не имеющих искомой следующей перестановки. Например, \textbf{987}. \InputFile Первая строка содержит количество тестов \textbf{p} (\textbf{1} ≤ \textbf{p} ≤ \textbf{1000}). Каждая следующая строка представляет собой отдельный тест и содержит его номер и соответствующий набор из не более чем \textbf{80} десятичных цифр. \OutputFile Ответ на каждый тест следует выводить в отдельной строке. Если для заданного набора цифр не существует следующей перестановки, то выведите сначала номер теста и далее через пробел строку \textbf{BIGGEST}. Если же решение существует, то сначала выведите также номер теста, а затем через пробел найденную следующую перестановку входных цифр.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 32 MiB
Giriş verilənləri #1
3
1 123
2 279134399742
3 987
Çıxış verilənləri #1
1 132
2 279134423799
3 BIGGEST