H g/[^MDCLXVI]/s///g # simplify the quirky parts g/CM/s//CCCCCCCCC/ g/D/s//CCCCC/ g/CD/s//CCCC/ g/XC/s//XXXXXXXXX/ g/L/s//XXXXX/ g/XL/s//XXXX/ g/IX/s//IIIIIIIII/ g/V/s//IIIII/ g/IV/s//IIII/ # convert simplified numerals to integers g/MMMMMMMMM/s//9/ g/MMMMMMMM/s//8/ g/MMMMMMM/s//7/ g/MMMMMM/s//6/ g/MMMMM/s//5/ g/MMMM/s//4/ g/MMM/s//3/ g/MM/s//2/ g/M/s//1/ v/^[0-9].*$/s/.*/0&/ g/CCCCCCCCC/s//9/ g/CCCCCCCC/s//8/ g/CCCCCCC/s//7/ g/CCCCCC/s//6/ g/CCCCC/s//5/ g/CCCC/s//4/ g/CCC/s//3/ g/CC/s//2/ g/C/s//1/ v/^[0-9]{2}.*$/s/^([0-9])(.*)$/\10\2/ g/XXXXXXXXX/s//9/ g/XXXXXXXX/s//8/ g/XXXXXXX/s//7/ g/XXXXXX/s//6/ g/XXXXX/s//5/ g/XXXX/s//4/ g/XXX/s//3/ g/XX/s//2/ g/X/s//1/ v/^[0-9]{3}.*$/s/^([0-9]{2})(.*)$/\10\2/ g/IIIIIIIII/s//9/ g/IIIIIIII/s//8/ g/IIIIIII/s//7/ g/IIIIII/s//6/ g/IIIII/s//5/ g/IIII/s//4/ g/III/s//3/ g/II/s//2/ g/I/s//1/ v/^[0-9]{4}.*$/s/^([0-9]{3})(.*)$/\10\2/ g/^0+([0-9])/s//\1/ ,p Q