using
System;
using
System.Collections.Generic;
class
GFG {
private
static
List<
string
> _permutations
=
new
List<
string
>();
static
long
inf = 99999999999999;
private
static
void
Swap(
ref
char
a,
ref
char
b)
{
if
(a == b)
return
;
a ^= b;
b ^= a;
a ^= b;
}
private
static
void
GetPer(
char
[] list)
{
int
x = list.Length - 1;
GetPer(list, 0, x);
}
private
static
void
GetPer(
char
[] list,
int
k,
int
m)
{
if
(k == m) {
_permutations.Add(
new
string
(list));
}
else
for
(
int
i = k; i <= m; i++) {
Swap(
ref
list[k],
ref
list[i]);
GetPer(list, k + 1, m);
Swap(
ref
list[k],
ref
list[i]);
}
}
static
long
solve(
string
a,
string
b)
{
long
n, val, ans = inf;
val = Convert.ToInt64(b);
n = a.Length;
char
[] a1 = a.ToCharArray();
Array.Sort(a1);
a =
new
string
(a1);
if
(Convert.ToInt64(a) > val) {
ans = Math.Min(Convert.ToInt64(a), ans);
}
GetPer(a.ToCharArray());
foreach
(
string
permut
in
_permutations)
{
if
(Convert.ToInt64(permut) > val) {
ans = Math.Min(Convert.ToInt64(permut),
ans);
}
}
if
(ans != inf) {
return
ans;
}
else
{
return
-1;
}
}
public
static
void
Main(
string
[] args)
{
string
a, b;
long
ans;
a =
"9236"
;
b =
"3145"
;
ans = solve(a, b);
Console.WriteLine(ans);
}
}