It seems like the year of 2013 came only yesterday. Do you know a curious fact? The year of 2013 is the first year after the old 1987 with only distinct digits.

Now you are suggested to solve the following problem: given a year number, find the minimum year number which is strictly larger than the given one and has only distinct digits.

Input

The single line contains integer y (1000 ≤ y ≤ 9000) — the year number.

Output

Print a single integer — the minimum year number that is strictly larger than y and all it's digits are distinct. It is guaranteed that the answer exists.

Examples

Input

1987


Output

2013


Input

2013


Output

2014
#include <bits/stdc++.h>
using namespace std;
int v[11];
int a[10];
int main() {
  int y;
  cin >> y;
  int l = 0;
  int h = y;
  int j = 4;
  while (h != 0) {
    int x = h % 10;
    a[j] = x;
    j = j - 1;
    v[x] = v[x] + 1;
    h = h / 10;
  }
  while (l == 0) {
    if (a[4] == 9) {
      if (a[3] == 9) {
        if (a[2] == 9) {
          v[a[1]] = 0;
          a[1] = a[1] + 1;
          a[2] = a[3] = a[4] = 0;
          v[9] = 0;
          v[a[1]] = 1;
          v[0] = 3;
        } else {
          v[a[2]] = v[a[2]] - 1;
          a[2] = a[2] + 1;
          v[a[2]] = v[a[2]] + 1;
          a[4] = a[3] = 0;
          v[9] = v[9] - 2;
          v[0] += 2;
        }
      } else {
        v[a[3]] = v[a[3]] - 1;
        a[4] = 0;
        v[9] = v[9] - 1;
        a[3] = a[3] + 1;
        v[0] = v[0] + 1;
        ;
        v[a[3]] = v[a[3]] + 1;
        if (v[a[1]] <= 1 && v[a[2]] <= 1 && v[a[3]] <= 1 && v[a[4]] <= 1) l = 1;
      }
    } else {
      v[a[4]] = v[a[4]] - 1;
      a[4] = a[4] + 1;
      v[a[4]] = v[a[4]] + 1;
      if (v[a[1]] <= 1 && v[a[2]] <= 1 && v[a[3]] <= 1 && v[a[4]] <= 1) l = 1;
    }
  }
  cout << a[1] << a[2] << a[3] << a[4] << endl;
}
