import
java.io.*;
import
java.util.*;
class
Pair
{
int
x;
String y;
public
Pair(
int
a, String b)
{
this
.x = a;
this
.y = b;
}
}
class
Compare
{
static
void
compare(ArrayList<Pair> vp)
{
Collections.sort(vp,
new
Comparator<Pair>()
{
@Override
public
int
compare(Pair p1, Pair p2)
{
return
p1.x - p2.x;
}
});
}
}
class
GFG{
static
int
value(
char
r)
{
if
(r ==
'I'
)
return
1
;
if
(r ==
'V'
)
return
5
;
if
(r ==
'X'
)
return
10
;
if
(r ==
'L'
)
return
50
;
if
(r ==
'C'
)
return
100
;
if
(r ==
'D'
)
return
500
;
if
(r ==
'M'
)
return
1000
;
return
-
1
;
}
static
int
romanToDecimal(String str)
{
int
res =
0
;
for
(
int
i =
0
; i < str.length(); i++)
{
int
s1 = value(str.charAt(i));
if
(i +
1
< str.length())
{
int
s2 = value(str.charAt(i +
1
));
if
(s1 >= s2)
{
res = res + s1;
}
else
{
res = res + s2 - s1;
i++;
}
}
else
{
res = res + s1;
}
}
return
res;
}
static
void
sortArr(String[] arr,
int
n)
{
ArrayList<Pair> vp =
new
ArrayList<Pair>();
for
(
int
i =
0
; i < n; i++)
{
vp.add(
new
Pair(romanToDecimal(arr[i]),
arr[i]));
}
Compare obj =
new
Compare();
obj.compare(vp);
for
(
int
i =
0
; i < vp.size(); i++)
System.out.println(vp.get(i).y +
" "
+
vp.get(i).x +
"\n"
);
}
public
static
void
main(String[] args)
{
String arr[] = {
"MCMIV"
,
"MIV"
,
"MCM"
,
"MMIV"
};
int
n = arr.length;
sortArr(arr, n);
}
}