using System;
public class Test
{
public static void Main()
{
for (int num = 1000; num <= 2000; num++)
{
string returnStr = "";
int temp = num;
while (temp > 0)
{
if (temp >= 1000)
{
returnStr += "M";
temp -= 1000;
}
else if (temp >= 900)
{
returnStr += "CM";
temp -= 900;
}
else if (temp >= 500)
{
returnStr += "D";
temp -= 500;
}
else if (temp >= 400)
{
returnStr += "CD";
temp -= 400;
}
else if (temp >= 100)
{
returnStr += "C";
temp -= 100;
}
else if (temp >= 90)
{
returnStr += "XC";
temp -= 90;
}
else if (temp >= 50)
{
returnStr += "L";
temp -= 50;
}
else if (temp >= 40)
{
returnStr += "XL";
temp -= 40;
}
else if (temp >= 10)
{
returnStr += "X";
temp -= 10;
}
else if (temp >= 9)
{
returnStr += "IX";
temp -= 9;
}
else if (temp >= 5)
{
returnStr += "V";
temp -= 5;
}
else if (temp >= 4)
{
returnStr += "IV";
temp -= 4;
}
else if (temp > 0)
{
returnStr += "I";
temp -= 1;
}
}
var tempArr = new[] { "M", "C", "L", "X", "V", "I" };
foreach (var item in tempArr)
{
if ((returnStr.Contains(item)) && (returnStr.IndexOf(item) == returnStr.LastIndexOf(item)))
{
temp++;
}
}
if (temp == 6)
{
Console.WriteLine(num + "\t" + returnStr);
}
}
Console.ReadLine();
}
}
dXNpbmcgU3lzdGVtOwoJCglwdWJsaWMgY2xhc3MgVGVzdAoJewoJCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCQl7CgkJCWZvciAoaW50IG51bSA9IDEwMDA7IG51bSA8PSAyMDAwOyBudW0rKykKCSAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICBzdHJpbmcgcmV0dXJuU3RyID0gIiI7CgkgICAgICAgICAgICAgICAgaW50IHRlbXAgPSBudW07CgkgICAgICAgICAgICAgICAgd2hpbGUgKHRlbXAgPiAwKQoJICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgaWYgKHRlbXAgPj0gMTAwMCkKCSAgICAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuU3RyICs9ICJNIjsKCSAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgLT0gMTAwMDsKCSAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1wID49IDkwMCkKCSAgICAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuU3RyICs9ICJDTSI7CgkgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wIC09IDkwMDsKCSAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1wID49IDUwMCkKCSAgICAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuU3RyICs9ICJEIjsKCSAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgLT0gNTAwOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPj0gNDAwKQoJICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5TdHIgKz0gIkNEIjsKCSAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgLT0gNDAwOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPj0gMTAwKQoJICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5TdHIgKz0gIkMiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSAxMDA7CgkgICAgICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGVtcCA+PSA5MCkKCSAgICAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuU3RyICs9ICJYQyI7CgkgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wIC09IDkwOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPj0gNTApCgkgICAgICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblN0ciArPSAiTCI7CgkgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wIC09IDUwOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPj0gNDApCgkgICAgICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblN0ciArPSAiWEwiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSA0MDsKCSAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1wID49IDEwKQoJICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5TdHIgKz0gIlgiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSAxMDsKCSAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1wID49IDkpCgkgICAgICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblN0ciArPSAiSVgiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSA5OwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPj0gNSkKCSAgICAgICAgICAgICAgICAgICAgewoJICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuU3RyICs9ICJWIjsKCSAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAgLT0gNTsKCSAgICAgICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1wID49IDQpCgkgICAgICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblN0ciArPSAiSVYiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSA0OwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlbXAgPiAwKQoJICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5TdHIgKz0gIkkiOwoJICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCAtPSAxOwoJICAgICAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgfQoJCgkgICAgICAgICAgICAgICAgdmFyIHRlbXBBcnIgPSBuZXdbXSB7ICJNIiwgIkMiLCAiTCIsICJYIiwgIlYiLCAiSSIgfTsKCSAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgaXRlbSBpbiB0ZW1wQXJyKQoJICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgaWYgKChyZXR1cm5TdHIuQ29udGFpbnMoaXRlbSkpICYmIChyZXR1cm5TdHIuSW5kZXhPZihpdGVtKSA9PSByZXR1cm5TdHIuTGFzdEluZGV4T2YoaXRlbSkpKQoJICAgICAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wKys7CgkgICAgICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gNikKCSAgICAgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG51bSArICJcdCIgKyByZXR1cm5TdHIpOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgIH0KCSAgICAgICAgICAgIENvbnNvbGUuUmVhZExpbmUoKTsKCQl9Cgl9