古罗马人创造了许多重要的事物:渡槽、笔直的道路、托加长袍,以及那些会喷射烟火的蜡烛。但最无用的莫过于罗马数字,这是一种表示正整数的极其笨拙的方式。
罗马数字系统使用七个不同的字母,每个字母代表不同的数值:字母 I 代表 1,V 代表 5,X 代表 10,L 代表 50,C 代表 100,D 代表 500,M 代表 1000。这些字母可以组合成以下基准值:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| I | II | III | IV | V | VI | VII | VIII | IX | X |
| 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
| X | XX | XXX | XL | L | LX | LXX | LXXX | XC | C |
| 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000 |
| C | CC | CCC | CD | D | DC | DCC | DCCC | CM | M |
非基准值数字 $x$ 的罗马数字表示法,是通过首先将 $x$ 分解为基准值之和,然后将每个基准值从大到小翻译得到的。在选择基准值时,总是先选择最大的且 $\le x$ 的值,然后选择最大的且 $\le$ 剩余数值的值,依此类推。因此 $14 = 10 + 4 = \text{XIV}$,$792 = 700 + 90 + 2 = \text{DCCXCII}$。大于 $1000$ 的数字使用尽可能多的 M。因此 $2018 = \text{MMXVIII}$,而 $1000000$ 将是一个由一千个 M 组成的字符串(这就是第一段中提到“笨拙”的原因)。
罗马数字表示法为正整数提供了一种新的排序方式。如果我们把每个整数的罗马数字表示看作一个单词,我们现在可以按字母顺序对它们进行排序。如果一个单词 $A$ 是另一个单词 $B$ 的前缀,则 $A$ 排在前面。我们将这种排序称为正整数的“罗马排序”。因此,罗马排序中的第一个数字是 C(在我们的系统中为 100)。接下来的三个数字是 CC、CCC 和 CCCI,依此类推。
注意在罗马排序中,所有大于 $1000$ 的数字都会排在任何以 V 或 X 开头的数字之前。事实上,最后一个数字是 XXXVIII。在本题中,你将获得一个或多个正整数,必须确定它们在罗马排序中的位置——根据情况,从前往后或从后往前计数。
输入格式
输入以一个正整数 $n \le 100$ 开始,表示随后要处理的正整数个数,每个数字占一行。这些剩余的每个数字均 $\le 10^9$。
输出格式
对于每个值($n$ 除外),输出该整数在罗马排序中的位置,每行一个。如果位置是相对于罗马排序末尾的,则输出负数。例如,38 在罗马排序中的位置是 $-1$,37 的位置是 $-2$,依此类推。
样例
样例输入 1
3 100 101 38
样例输出 1
1 302 -1