#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
long long mod2 = 998244353;
long long mod3 = 1000003;
long long mod4 = 998244853;
long long inf = 1000000000000000000;
double pi = 2 * acos(0);
int dh[4] = {1, -1, 0, 0};
int dw[4] = {0, 0, 1, -1};
int ddh[8] = {-1, -1, -1, 0, 0, 1, 1, 1};
int ddw[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
long long lmax(long long a, long long b) {
  if (a < b)
    return b;
  else
    return a;
}
long long lmin(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
long long gcd(long long a, long long b) {
  if (a < b) swap(a, b);
  if (b == 0) return a;
  if (a % b == 0) return b;
  return gcd(b, a % b);
}
long long Pow(long long n, long long k) {
  long long ret = 1;
  long long now = n;
  while (k > 0) {
    if (k & 1) ret *= now;
    now *= now;
    k /= 2;
  }
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int l, r;
  cin >> l >> r;
  for (long long i = l; i < r + 1; i++) {
    int cnt[10];
    fill(cnt, cnt + 10, 0);
    long long u = i;
    int c = 0;
    while (u > 0) {
      long long y = u % 10;
      if (cnt[y] == 1) {
        c = 1;
        break;
      }
      cnt[y]++;
      u /= 10;
    }
    if (c == 0) {
      cout << i << endl;
      return 0;
    }
  }
  cout << -1 << endl;
}

### Prompt

Please create a solution in Cpp to the following problem:

You have two integers l and r. Find an integer x which satisfies the conditions below:

  * l ≤ x ≤ r. 
  * All digits of x are different. 



If there are multiple answers, print any of them.

Input

The first line contains two integers l and r (1 ≤ l ≤ r ≤ 10^{5}).

Output

If an answer exists, print any of them. Otherwise, print -1.

Examples

Input


121 130


Output


123


Input


98766 100000


Output


-1

Note

In the first example, 123 is one of the possible answers. However, 121 can't be the answer, because there are multiple 1s on different digits.

In the second example, there is no valid answer.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
long long mod2 = 998244353;
long long mod3 = 1000003;
long long mod4 = 998244853;
long long inf = 1000000000000000000;
double pi = 2 * acos(0);
int dh[4] = {1, -1, 0, 0};
int dw[4] = {0, 0, 1, -1};
int ddh[8] = {-1, -1, -1, 0, 0, 1, 1, 1};
int ddw[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
long long lmax(long long a, long long b) {
  if (a < b)
    return b;
  else
    return a;
}
long long lmin(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
long long gcd(long long a, long long b) {
  if (a < b) swap(a, b);
  if (b == 0) return a;
  if (a % b == 0) return b;
  return gcd(b, a % b);
}
long long Pow(long long n, long long k) {
  long long ret = 1;
  long long now = n;
  while (k > 0) {
    if (k & 1) ret *= now;
    now *= now;
    k /= 2;
  }
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int l, r;
  cin >> l >> r;
  for (long long i = l; i < r + 1; i++) {
    int cnt[10];
    fill(cnt, cnt + 10, 0);
    long long u = i;
    int c = 0;
    while (u > 0) {
      long long y = u % 10;
      if (cnt[y] == 1) {
        c = 1;
        break;
      }
      cnt[y]++;
      u /= 10;
    }
    if (c == 0) {
      cout << i << endl;
      return 0;
    }
  }
  cout << -1 << endl;
}

```