다음 순열
시간 제한1초메모리 제한128 MB
정수 A가 주어질 때 A의 숫자를 재배열해 만들 수 있는 수 중 A보다 큰 가장 작은 수를 구하고, 없으면 USELESS를 출력합니다.
문제
양의 정수 가 주어진다. 의 각 자리 숫자를 재배열하여 만들 수 있는 정수들 중에서, 보다 크면서 가장 작은 정수 를 구하여라. 즉, 의 자리 숫자로 만들 수 있는 "바로 다음으로 큰 순열"을 찾는 문제이다.
예를 들어 이면 다음으로 큰 순열은 이다.
만약 가 이미 자신의 자리 숫자로 만들 수 있는 가장 큰 수라면(더 큰 순열이 존재하지 않으면) 대신 USELESS를 출력한다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 다음 개의 줄에 각각 정수 가 하나씩 주어진다 ().
출력
각 테스트 케이스마다 한 줄에 하나씩, 의 다음으로 큰 순열 를 출력한다. 존재하지 않으면 USELESS를 출력한다.