2. Саша и разнообразные числа
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Саша считает натуральное число разнообразным, если все цифры в его десятичной записи попарно различны. Например, числа $$$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