import
java.util.*;
class
GFG{
static
void
findArrangement(String n, String k)
{
HashMap<Character,Integer> um1 =
new
HashMap<Character,Integer>();
for
(
int
i =
0
; i < n.length(); i++)
{
if
(um1.containsKey(n.charAt(i)))
{
um1.put(n.charAt(i), um1.get(n.charAt(i))+
1
);
}
else
{
um1.put(n.charAt(i),
1
);
}
}
HashMap<Character,Integer> um2 =
new
HashMap<Character,Integer>();
for
(
int
i =
0
; i < k.length(); i++) {
if
(um2.containsKey(k.charAt(i))){
um2.put(k.charAt(i), um2.get(k.charAt(i))+
1
);
}
else
{
um2.put(k.charAt(i),
1
);
}
}
for
(
int
i =
0
; i <=
9
; i++)
{
char
ch = (
char
) (
'0'
+ i);
if
(um2.containsKey(ch) && um1.containsKey(ch)
&& um2.get(ch) > um1.get(ch))
{
System.out.print(n);
return
;
}
}
for
(
int
i =
0
; i <=
9
; i++)
{
char
ch = (
char
) (
'0'
+ i);
if
(um2.containsKey(ch) && um2.get(ch) == k.length())
{
System.out.print(-
1
);
return
;
}
}
n = sortString(n);
System.out.print(n);
}
static
String sortString(String inputString)
{
char
tempArray[] = inputString.toCharArray();
Arrays.sort(tempArray);
return
new
String(
new
StringBuffer(
new
String(tempArray)).reverse());
}
public
static
void
main(String[] args)
{
String N =
"93039373637"
, K =
"339"
;
findArrangement(N, K);
}
}