import
java.util.*;
class
GFG
{
static
Vector<Integer> makeSeq(String s,
int
a[])
{
Vector<Integer> seq =
new
Vector<Integer>();
for
(
int
i =
0
; i < s.length(); i++)
if
(s.charAt(i) ==
'A'
)
seq.add(a[i]);
for
(
int
i =
0
; i < s.length(); i++)
if
(s.charAt(i) ==
'B'
)
seq.add(a[i]);
return
seq;
}
static
boolean
checkSeq(Vector<Integer> v)
{
boolean
check =
true
;
for
(
int
i =
1
; i < v.size(); i++)
if
(v.get(i) < v.get(i -
1
))
check =
false
;
return
check;
}
static
String digitPartition(
int
X)
{
String num = String.valueOf(X);
int
l = num.length();
int
[]a =
new
int
[l];
for
(
int
i =
0
; i < l; i++)
a[i] = (num.charAt(i) -
'0'
);
for
(
int
D =
0
; D <
10
; D++)
{
String res =
""
;
for
(
int
i =
0
; i < l; i++)
{
if
(a[i] < D)
res +=
'A'
;
else
if
(a[i] > D)
res +=
'B'
;
else
res +=
'C'
;
}
boolean
flag =
false
;
for
(
int
i =
0
; i < l; i++)
{
if
(res.charAt(i) ==
'B'
)
flag =
true
;
if
(res.charAt(i) ==
'C'
)
res = res.substring(
0
, i) +
(flag ?
'A'
:
'B'
) + res.substring(i +
1
);
}
Vector<Integer> seq = makeSeq(res, a);
if
(checkSeq(seq))
return
res;
}
return
"-1"
;
}
public
static
void
main(String[] args)
{
int
X =
777147777
;
System.out.print(digitPartition(X));
}
}