At most twice

Given a positive integer U, find the largest integer L such that L ≤ U and L does not contain any digit more than twice. Input The input contains several test cases; each test case is formatted as follows. A test case consists of a single line that contains an integer U (1 ≤ U ≤ 1018). Output For each test case in the input, output a line with an integer representing the largest number less than or equal to U that does not contain any digit more than twice. Sample Input 2210102960 1000000000000000000 1001223343 20152015 Sample Output 2210099887 998877665544332211 998877665 20152015