Саша считает натуральное число разнообразным, если все цифры в его десятичной записи попарно различны. Например, числа $$$5$$$, $$$827$$$ и $$$12\,345\,678$$$ являются разнообразными, а числа $$$33$$$, $$$2\,025$$$ и $$$998\,244\,353$$$ — не являются.
Сегодня Саша отпраздновал свой $$$n$$$-й день рождения, и ему стало интересно, чему равно минимальное разнообразное число, большее чем $$$n$$$. Помогите Саше ответить на этот вопрос.
Единственная строка содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^{18}$$$).
Обратите внимание, что входные и выходные данные в этой задаче могут превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Выведите одно целое число — минимальное разнообразное число, большее $$$n$$$. Если не существует ни одного разнообразного числа, большего $$$n$$$, выведите число $$$-1$$$.
Помимо тестов из условия, данная задача содержит $$$20$$$ тестов, каждый из которых будет независимо оцениваться в $$$5$$$ баллов.
1
2
121
123
998244353
1023456789