summaryrefslogtreecommitdiffstats
path: root/089.pl
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-05-16 16:12:20 -0500
committerJesse Luehrs <doy@tozt.net>2009-05-16 16:12:20 -0500
commit20aecd657d1d70dc0f6f03ac00f1a7e89dd89bd1 (patch)
tree6418f28cc454c3c686c0daec035ede5ac706cf55 /089.pl
parent7a8c5653997e037593bf393c2cf2715a56e3ff48 (diff)
downloadprojecteuler-20aecd657d1d70dc0f6f03ac00f1a7e89dd89bd1.tar.gz
projecteuler-20aecd657d1d70dc0f6f03ac00f1a7e89dd89bd1.zip
89 solved
Diffstat (limited to '089.pl')
-rwxr-xr-x089.pl1024
1 files changed, 1024 insertions, 0 deletions
diff --git a/089.pl b/089.pl
new file mode 100755
index 0000000..5f95e2f
--- /dev/null
+++ b/089.pl
@@ -0,0 +1,1024 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Math::Roman;
+
+my @default_tokens = Math::Roman::tokens;
+my @permissive_tokens = qw(
+ I 1 V 5 X 10 L 50 C 100 D 500 M 1000
+ IV 4 IX 9 XL 40 XC 90 CD 400 CM 900
+);
+
+my $count = 0;
+for my $roman (<DATA>) {
+ chomp $roman;
+ Math::Roman::tokens(@permissive_tokens);
+ my $num = Math::Roman->new($roman)->as_number;
+ die $roman if $num != $num;
+ Math::Roman::tokens(@default_tokens);
+ my $shorter = Math::Roman->new($num)->bstr;
+ $count += length($roman) - length($shorter);
+}
+print "$count\n";
+
+__DATA__
+MMMMDCLXXII
+MMDCCCLXXXIII
+MMMDLXVIIII
+MMMMDXCV
+DCCCLXXII
+MMCCCVI
+MMMCDLXXXVII
+MMMMCCXXI
+MMMCCXX
+MMMMDCCCLXXIII
+MMMCCXXXVII
+MMCCCLXXXXIX
+MDCCCXXIIII
+MMCXCVI
+CCXCVIII
+MMMCCCXXXII
+MDCCXXX
+MMMDCCCL
+MMMMCCLXXXVI
+MMDCCCXCVI
+MMMDCII
+MMMCCXII
+MMMMDCCCCI
+MMDCCCXCII
+MDCXX
+CMLXXXVII
+MMMXXI
+MMMMCCCXIV
+MLXXII
+MCCLXXVIIII
+MMMMCCXXXXI
+MMDCCCLXXII
+MMMMXXXI
+MMMDCCLXXX
+MMDCCCLXXIX
+MMMMLXXXV
+MCXXI
+MDCCCXXXVII
+MMCCCLXVII
+MCDXXXV
+CCXXXIII
+CMXX
+MMMCLXIV
+MCCCLXXXVI
+DCCCXCVIII
+MMMDCCCCXXXIV
+CDXVIIII
+MMCCXXXV
+MDCCCXXXII
+MMMMD
+MMDCCLXIX
+MMMMCCCLXXXXVI
+MMDCCXLII
+MMMDCCCVIIII
+DCCLXXXIIII
+MDCCCCXXXII
+MMCXXVII
+DCCCXXX
+CCLXIX
+MMMXI
+MMMMCMLXXXXVIII
+MMMMDLXXXVII
+MMMMDCCCLX
+MMCCLIV
+CMIX
+MMDCCCLXXXIIII
+CLXXXII
+MMCCCCXXXXV
+MMMMDLXXXVIIII
+MMMDCCCXXI
+MMDCCCCLXXVI
+MCCCCLXX
+MMCDLVIIII
+MMMDCCCLIX
+MMMMCCCCXIX
+MMMDCCCLXXV
+XXXI
+CDLXXXIII
+MMMCXV
+MMDCCLXIII
+MMDXXX
+MMMMCCCLVII
+MMMDCI
+MMMMCDLXXXIIII
+MMMMCCCXVI
+CCCLXXXVIII
+MMMMCML
+MMMMXXIV
+MMMCCCCXXX
+DCCX
+MMMCCLX
+MMDXXXIII
+CCCLXIII
+MMDCCXIII
+MMMCCCXLIV
+CLXXXXI
+CXVI
+MMMMCXXXIII
+CLXX
+DCCCXVIII
+MLXVII
+DLXXXX
+MMDXXI
+MMMMDLXXXXVIII
+MXXII
+LXI
+DCCCCXLIII
+MMMMDV
+MMMMXXXIV
+MDCCCLVIII
+MMMCCLXXII
+MMMMDCCXXXVI
+MMMMLXXXIX
+MDCCCLXXXI
+MMMMDCCCXV
+MMMMCCCCXI
+MMMMCCCLIII
+MDCCCLXXI
+MMCCCCXI
+MLXV
+MMCDLXII
+MMMMDXXXXII
+MMMMDCCCXL
+MMMMCMLVI
+CCLXXXIV
+MMMDCCLXXXVI
+MMCLII
+MMMCCCCXV
+MMLXXXIII
+MMMV
+MMMV
+DCCLXII
+MMDCCCCXVI
+MMDCXLVIII
+CCLIIII
+CCCXXV
+MMDCCLXXXVIIII
+MMMMDCLXXVIII
+MMMMDCCCXCI
+MMMMCCCXX
+MMCCXLV
+MMMDCCCLXIX
+MMCCLXIIII
+MMMDCCCXLIX
+MMMMCCCLXIX
+CMLXXXXI
+MCMLXXXIX
+MMCDLXI
+MMDCLXXVIII
+MMMMDCCLXI
+MCDXXV
+DL
+CCCLXXII
+MXVIIII
+MCCCCLXVIII
+CIII
+MMMDCCLXXIIII
+MMMDVIII
+MMMMCCCLXXXXVII
+MMDXXVII
+MMDCCLXXXXV
+MMMMCXLVI
+MMMDCCLXXXII
+MMMDXXXVI
+MCXXII
+CLI
+DCLXXXIX
+MMMCLI
+MDCLXIII
+MMMMDCCXCVII
+MMCCCLXXXV
+MMMDCXXVIII
+MMMCDLX
+MMMCMLII
+MMMIV
+MMMMDCCCLVIII
+MMMDLXXXVIII
+MCXXIV
+MMMMLXXVI
+CLXXIX
+MMMCCCCXXVIIII
+DCCLXXXV
+MMMDCCCVI
+LI
+CLXXXVI
+MMMMCCCLXXVI
+MCCCLXVI
+CCXXXIX
+MMDXXXXI
+MMDCCCXLI
+DCCCLXXXVIII
+MMMMDCCCIV
+MDCCCCXV
+MMCMVI
+MMMMCMLXXXXV
+MMDCCLVI
+MMMMCCXLVIII
+DCCCCIIII
+MMCCCCIII
+MMMDCCLXXXVIIII
+MDCCCLXXXXV
+DVII
+MMMV
+DCXXV
+MMDCCCXCV
+DCVIII
+MMCDLXVI
+MCXXVIII
+MDCCXCVIII
+MMDCLX
+MMMDCCLXIV
+MMCDLXXVII
+MMDLXXXIIII
+MMMMCCCXXII
+MMMDCCCXLIIII
+DCCCCLXVII
+MMMCLXXXXIII
+MCCXV
+MMMMDCXI
+MMMMDCLXXXXV
+MMMCCCLII
+MMCMIX
+MMDCCXXV
+MMDLXXXVI
+MMMMDCXXVIIII
+DCCCCXXXVIIII
+MMCCXXXIIII
+MMDCCLXXVIII
+MDCCLXVIIII
+MMCCLXXXV
+MMMMDCCCLXXXVIII
+MMCMXCI
+MDXLII
+MMMMDCCXIV
+MMMMLI
+DXXXXIII
+MMDCCXI
+MMMMCCLXXXIII
+MMMDCCCLXXIII
+MDCLVII
+MMCD
+MCCCXXVII
+MMMMDCCIIII
+MMMDCCXLVI
+MMMCLXXXVII
+MMMCCVIIII
+MCCCCLXXIX
+DL
+DCCCLXXVI
+MMDXCI
+MMMMDCCCCXXXVI
+MMCII
+MMMDCCCXXXXV
+MMMCDXLV
+MMDCXXXXIV
+MMD
+MDCCCLXXXX
+MMDCXLIII
+MMCCXXXII
+MMDCXXXXVIIII
+DCCCLXXI
+MDXCVIIII
+MMMMCCLXXVIII
+MDCLVIIII
+MMMCCCLXXXIX
+MDCLXXXV
+MDLVIII
+MMMMCCVII
+MMMMDCXIV
+MMMCCCLXIIII
+MMIIII
+MMMMCCCLXXIII
+CCIII
+MMMCCLV
+MMMDXIII
+MMMCCCXC
+MMMDCCCXXI
+MMMMCCCCXXXII
+CCCLVI
+MMMCCCLXXXVI
+MXVIIII
+MMMCCCCXIIII
+CLXVII
+MMMCCLXX
+CCCCLXIV
+MMXXXXII
+MMMMCCLXXXX
+MXL
+CCXVI
+CCCCLVIIII
+MMCCCII
+MCCCLVIII
+MMMMCCCX
+MCDLXXXXIV
+MDCCCXIII
+MMDCCCXL
+MMMMCCCXXIII
+DXXXIV
+CVI
+MMMMDCLXXX
+DCCCVII
+MMCMLXIIII
+MMMDCCCXXXIII
+DCCC
+MDIII
+MMCCCLXVI
+MMMCCCCLXXI
+MMDCCCCXVIII
+CCXXXVII
+CCCXXV
+MDCCCXII
+MMMCMV
+MMMMCMXV
+MMMMDCXCI
+DXXI
+MMCCXLVIIII
+MMMMCMLII
+MDLXXX
+MMDCLXVI
+CXXI
+MMMDCCCLIIII
+MMMCXXI
+MCCIII
+MMDCXXXXI
+CCXCII
+MMMMDXXXV
+MMMCCCLXV
+MMMMDLXV
+MMMCCCCXXXII
+MMMCCCVIII
+DCCCCLXXXXII
+MMCLXIV
+MMMMCXI
+MLXXXXVII
+MMMCDXXXVIII
+MDXXII
+MLV
+MMMMDLXVI
+MMMCXII
+XXXIII
+MMMMDCCCXXVI
+MMMLXVIIII
+MMMLX
+MMMCDLXVII
+MDCCCLVII
+MMCXXXVII
+MDCCCCXXX
+MMDCCCLXIII
+MMMMDCXLIX
+MMMMCMXLVIII
+DCCCLXXVIIII
+MDCCCLIII
+MMMCMLXI
+MMMMCCLXI
+MMDCCCLIII
+MMMDCCCVI
+MMDXXXXIX
+MMCLXXXXV
+MMDXXX
+MMMXIII
+DCLXXIX
+DCCLXII
+MMMMDCCLXVIII
+MDCCXXXXIII
+CCXXXII
+MMMMDCXXV
+MMMCCCXXVIII
+MDCVIII
+MMMCLXXXXIIII
+CLXXXI
+MDCCCCXXXIII
+MMMMDCXXX
+MMMDCXXIV
+MMMCCXXXVII
+MCCCXXXXIIII
+CXVIII
+MMDCCCCIV
+MMMMCDLXXV
+MMMDLXIV
+MDXCIII
+MCCLXXXI
+MMMDCCCXXIV
+MCXLIII
+MMMDCCCI
+MCCLXXX
+CCXV
+MMDCCLXXI
+MMDLXXXIII
+MMMMDCXVII
+MMMCMLXV
+MCLXVIII
+MMMMCCLXXVI
+MMMDCCLXVIIII
+MMMMDCCCIX
+DLXXXXIX
+DCCCXXII
+MMMMIII
+MMMMCCCLXXVI
+DCCCXCIII
+DXXXI
+MXXXIIII
+CCXII
+MMMDCCLXXXIIII
+MMMCXX
+MMMCMXXVII
+DCCCXXXX
+MMCDXXXVIIII
+MMMMDCCXVIII
+LV
+MMMDCCCCVI
+MCCCII
+MMCMLXVIIII
+MDCCXI
+MMMMDLXVII
+MMCCCCLXI
+MMDCCV
+MMMCCCXXXIIII
+MMMMDI
+MMMDCCCXCV
+MMDCCLXXXXI
+MMMDXXVI
+MMMDCCCLVI
+MMDCXXX
+MCCCVII
+MMMMCCCLXII
+MMMMXXV
+MMCMXXV
+MMLVI
+MMDXXX
+MMMMCVII
+MDC
+MCCIII
+MMMMDCC
+MMCCLXXV
+MMDCCCXXXXVI
+MMMMCCCLXV
+CDXIIII
+MLXIIII
+CCV
+MMMCMXXXI
+CCCCLXVI
+MDXXXII
+MMMMCCCLVIII
+MMV
+MMMCLII
+MCMLI
+MMDCCXX
+MMMMCCCCXXXVI
+MCCLXXXI
+MMMCMVI
+DCCXXX
+MMMMCCCLXV
+DCCCXI
+MMMMDCCCXIV
+CCCXXI
+MMDLXXV
+CCCCLXXXX
+MCCCLXXXXII
+MMDCIX
+DCCXLIIII
+DXIV
+MMMMCLII
+CDLXI
+MMMCXXVII
+MMMMDCCCCLXIII
+MMMDCLIIII
+MCCCCXXXXII
+MMCCCLX
+CCCCLIII
+MDCCLXXVI
+MCMXXIII
+MMMMDLXXVIII
+MMDCCCCLX
+MMMCCCLXXXX
+MMMCDXXVI
+MMMDLVIII
+CCCLXI
+MMMMDCXXII
+MMDCCCXXI
+MMDCCXIII
+MMMMCLXXXVI
+MDCCCCXXVI
+MDV
+MMDCCCCLXXVI
+MMMMCCXXXVII
+MMMDCCLXXVIIII
+MMMCCCCLXVII
+DCCXLI
+MMCLXXXVIII
+MCCXXXVI
+MMDCXLVIII
+MMMMCXXXII
+MMMMDCCLXVI
+MMMMCMLI
+MMMMCLXV
+MMMMDCCCXCIV
+MCCLXXVII
+LXXVIIII
+DCCLII
+MMMCCCXCVI
+MMMCLV
+MMDCCCXXXXVIII
+DCCCXV
+MXC
+MMDCCLXXXXVII
+MMMMCML
+MMDCCCLXXVIII
+DXXI
+MCCCXLI
+DCLXXXXI
+MMCCCLXXXXVIII
+MDCCCCLXXVIII
+MMMMDXXV
+MMMDCXXXVI
+MMMCMXCVII
+MMXVIIII
+MMMDCCLXXIV
+MMMCXXV
+DXXXVIII
+MMMMCLXVI
+MDXII
+MMCCCLXX
+CCLXXI
+DXIV
+MMMCLIII
+DLII
+MMMCCCXLIX
+MMCCCCXXVI
+MMDCXLIII
+MXXXXII
+CCCLXXXV
+MDCLXXVI
+MDCXII
+MMMCCCLXXXIII
+MMDCCCCLXXXII
+MMMMCCCLXXXV
+MMDCXXI
+DCCCXXX
+MMMDCCCCLII
+MMMDCCXXII
+MMMMCDXCVIII
+MMMCCLXVIIII
+MMXXV
+MMMMCDXIX
+MMMMCCCX
+MMMCCCCLXVI
+MMMMDCLXXVIIII
+MMMMDCXXXXIV
+MMMCMXII
+MMMMXXXIII
+MMMMDLXXXII
+DCCCLIV
+MDXVIIII
+MMMCLXXXXV
+CCCCXX
+MMDIX
+MMCMLXXXVIII
+DCCXLIII
+DCCLX
+D
+MCCCVII
+MMMMCCCLXXXIII
+MDCCCLXXIIII
+MMMDCCCCLXXXVII
+MMMMCCCVII
+MMMDCCLXXXXVI
+CDXXXIV
+MCCLXVIII
+MMMMDLX
+MMMMDXII
+MMMMCCCCLIIII
+MCMLXXXXIII
+MMMMDCCCIII
+MMDCLXXXIII
+MDCCCXXXXIV
+XXXXVII
+MMMDCCCXXXII
+MMMDCCCXLII
+MCXXXV
+MDCXXVIIII
+MMMCXXXXIIII
+MMMMCDXVII
+MMMDXXIII
+MMMMCCCCLXI
+DCLXXXXVIIII
+LXXXXI
+CXXXIII
+MCDX
+MCCLVII
+MDCXXXXII
+MMMCXXIV
+MMMMLXXXX
+MMDCCCCXLV
+MLXXX
+MMDCCCCLX
+MCDLIII
+MMMCCCLXVII
+MMMMCCCLXXIV
+MMMDCVIII
+DCCCCXXIII
+MMXCI
+MMDCCIV
+MMMMDCCCXXXIV
+CCCLXXI
+MCCLXXXII
+MCMIII
+CCXXXI
+DCCXXXVIII
+MMMMDCCXLVIIII
+MMMMCMXXXV
+DCCCLXXV
+DCCXCI
+MMMMDVII
+MMMMDCCCLXVIIII
+CCCXCV
+MMMMDCCXX
+MCCCCII
+MMMCCCXC
+MMMCCCII
+MMDCCLXXVII
+MMDCLIIII
+CCXLIII
+MMMDCXVIII
+MMMCCCIX
+MCXV
+MMCCXXV
+MLXXIIII
+MDCCXXVI
+MMMCCCXX
+MMDLXX
+MMCCCCVI
+MMDCCXX
+MMMMDCCCCXCV
+MDCCCXXXII
+MMMMDCCCCXXXX
+XCIV
+MMCCCCLX
+MMXVII
+MLXXI
+MMMDXXVIII
+MDCCCCII
+MMMCMLVII
+MMCLXXXXVIII
+MDCCCCLV
+MCCCCLXXIIII
+MCCCLII
+MCDXLVI
+MMMMDXVIII
+DCCLXXXIX
+MMMDCCLXIV
+MDCCCCXLIII
+CLXXXXV
+MMMMCCXXXVI
+MMMDCCCXXI
+MMMMCDLXXVII
+MCDLIII
+MMCCXLVI
+DCCCLV
+MCDLXX
+DCLXXVIII
+MMDCXXXIX
+MMMMDCLX
+MMDCCLI
+MMCXXXV
+MMMCCXII
+MMMMCMLXII
+MMMMCCV
+MCCCCLXIX
+MMMMCCIII
+CLXVII
+MCCCLXXXXIIII
+MMMMDCVIII
+MMDCCCLXI
+MMLXXIX
+CMLXIX
+MMDCCCXLVIIII
+DCLXII
+MMMCCCXLVII
+MDCCCXXXV
+MMMMDCCXCVI
+DCXXX
+XXVI
+MMLXIX
+MMCXI
+DCXXXVII
+MMMMCCCXXXXVIII
+MMMMDCLXI
+MMMMDCLXXIIII
+MMMMVIII
+MMMMDCCCLXII
+MDCXCI
+MMCCCXXIIII
+CCCCXXXXV
+MMDCCCXXI
+MCVI
+MMDCCLXVIII
+MMMMCXL
+MLXVIII
+CMXXVII
+CCCLV
+MDCCLXXXIX
+MMMCCCCLXV
+MMDCCLXII
+MDLXVI
+MMMCCCXVIII
+MMMMCCLXXXI
+MMCXXVII
+MMDCCCLXVIII
+MMMCXCII
+MMMMDCLVIII
+MMMMDCCCXXXXII
+MMDCCCCLXXXXVI
+MDCCXL
+MDCCLVII
+MMMMDCCCLXXXVI
+DCCXXXIII
+MMMMDCCCCLXXXV
+MMCCXXXXVIII
+MMMCCLXXVIII
+MMMDCLXXVIII
+DCCCI
+MMMMLXXXXVIIII
+MMMCCCCLXXII
+MMCLXXXVII
+CCLXVI
+MCDXLIII
+MMCXXVIII
+MDXIV
+CCCXCVIII
+CLXXVIII
+MMCXXXXVIIII
+MMMDCLXXXIV
+CMLVIII
+MCDLIX
+MMMMDCCCXXXII
+MMMMDCXXXIIII
+MDCXXI
+MMMDCXLV
+MCLXXVIII
+MCDXXII
+IV
+MCDLXXXXIII
+MMMMDCCLXV
+CCLI
+MMMMDCCCXXXVIII
+DCLXII
+MCCCLXVII
+MMMMDCCCXXXVI
+MMDCCXLI
+MLXI
+MMMCDLXVIII
+MCCCCXCIII
+XXXIII
+MMMDCLXIII
+MMMMDCL
+DCCCXXXXIIII
+MMDLVII
+DXXXVII
+MCCCCXXIIII
+MCVII
+MMMMDCCXL
+MMMMCXXXXIIII
+MCCCCXXIV
+MMCLXVIII
+MMXCIII
+MDCCLXXX
+MCCCLIIII
+MMDCLXXI
+MXI
+MCMLIV
+MMMCCIIII
+DCCLXXXVIIII
+MDCLIV
+MMMDCXIX
+CMLXXXI
+DCCLXXXVII
+XXV
+MMMXXXVI
+MDVIIII
+CLXIII
+MMMCDLVIIII
+MMCCCCVII
+MMMLXX
+MXXXXII
+MMMMCCCLXVIII
+MMDCCCXXVIII
+MMMMDCXXXXI
+MMMMDCCCXXXXV
+MMMXV
+MMMMCCXVIIII
+MMDCCXIIII
+MMMXXVII
+MDCCLVIIII
+MMCXXIIII
+MCCCLXXIV
+DCLVIII
+MMMLVII
+MMMCXLV
+MMXCVII
+MMMCCCLXXXVII
+MMMMCCXXII
+DXII
+MMMDLV
+MCCCLXXVIII
+MMMCLIIII
+MMMMCLXXXX
+MMMCLXXXIIII
+MDCXXIII
+MMMMCCXVI
+MMMMDLXXXIII
+MMMDXXXXIII
+MMMMCCCCLV
+MMMDLXXXI
+MMMCCLXXVI
+MMMMXX
+MMMMDLVI
+MCCCCLXXX
+MMMXXII
+MMXXII
+MMDCCCCXXXI
+MMMDXXV
+MMMDCLXXXVIIII
+MMMDLXXXXVII
+MDLXIIII
+CMXC
+MMMXXXVIII
+MDLXXXVIII
+MCCCLXXVI
+MMCDLIX
+MMDCCCXVIII
+MDCCCXXXXVI
+MMMMCMIV
+MMMMDCIIII
+MMCCXXXV
+XXXXVI
+MMMMCCXVII
+MMCCXXIV
+MCMLVIIII
+MLXXXIX
+MMMMLXXXIX
+CLXXXXIX
+MMMDCCCCLVIII
+MMMMCCLXXIII
+MCCCC
+DCCCLIX
+MMMCCCLXXXII
+MMMCCLXVIIII
+MCLXXXV
+CDLXXXVII
+DCVI
+MMX
+MMCCXIII
+MMMMDCXX
+MMMMXXVIII
+DCCCLXII
+MMMMCCCXLIII
+MMMMCLXV
+DXCI
+MMMMCLXXX
+MMMDCCXXXXI
+MMMMXXXXVI
+DCLX
+MMMCCCXI
+MCCLXXX
+MMCDLXXII
+DCCLXXI
+MMMCCCXXXVI
+MCCCCLXXXVIIII
+CDLVIII
+DCCLVI
+MMMMDCXXXVIII
+MMCCCLXXXIII
+MMMMDCCLXXV
+MMMXXXVI
+CCCLXXXXIX
+CV
+CCCCXIII
+CCCCXVI
+MDCCCLXXXIIII
+MMDCCLXXXII
+MMMMCCCCLXXXI
+MXXV
+MMCCCLXXVIIII
+MMMCCXII
+MMMMCCXXXIII
+MMCCCLXXXVI
+MMMDCCCLVIIII
+MCCXXXVII
+MDCLXXV
+XXXV
+MMDLI
+MMMCCXXX
+MMMMCXXXXV
+CCCCLIX
+MMMMDCCCLXXIII
+MMCCCXVII
+DCCCXVI
+MMMCCCXXXXV
+MDCCCCXCV
+CLXXXI
+MMMMDCCLXX
+MMMDCCCIII
+MMCLXXVII
+MMMDCCXXIX
+MMDCCCXCIIII
+MMMCDXXIIII
+MMMMXXVIII
+MMMMDCCCCLXVIII
+MDCCCXX
+MMMMCDXXI
+MMMMDLXXXIX
+CCXVI
+MDVIII
+MMCCLXXI
+MMMDCCCLXXI
+MMMCCCLXXVI
+MMCCLXI
+MMMMDCCCXXXIV
+DLXXXVI
+MMMMDXXXII
+MMMXXIIII
+MMMMCDIV
+MMMMCCCXLVIII
+MMMMCXXXVIII
+MMMCCCLXVI
+MDCCXVIII
+MMCXX
+CCCLIX
+MMMMDCCLXXII
+MDCCCLXXV
+MMMMDCCCXXIV
+DCCCXXXXVIII
+MMMDCCCCXXXVIIII
+MMMMCCXXXV
+MDCLXXXIII
+MMCCLXXXIV
+MCLXXXXIIII
+DXXXXIII
+MCCCXXXXVIII
+MMCLXXIX
+MMMMCCLXIV
+MXXII
+MMMCXIX
+MDCXXXVII
+MMDCCVI
+MCLXXXXVIII
+MMMCXVI
+MCCCLX
+MMMCDX
+CCLXVIIII
+MMMCCLX
+MCXXVIII
+LXXXII
+MCCCCLXXXI
+MMMI
+MMMCCCLXIV
+MMMCCCXXVIIII
+CXXXVIII
+MMCCCXX
+MMMCCXXVIIII
+MCCLXVI
+MMMCCCCXXXXVI
+MMDCCXCIX
+MCMLXXI
+MMCCLXVIII
+CDLXXXXIII
+MMMMDCCXXII
+MMMMDCCLXXXVII
+MMMDCCLIV
+MMCCLXIII
+MDXXXVII
+DCCXXXIIII
+MCII
+MMMDCCCLXXI
+MMMLXXIII
+MDCCCLIII
+MMXXXVIII
+MDCCXVIIII
+MDCCCCXXXVII
+MMCCCXVI
+MCMXXII
+MMMCCCLVIII
+MMMMDCCCXX
+MCXXIII
+MMMDLXI
+MMMMDXXII
+MDCCCX
+MMDXCVIIII
+MMMDCCCCVIII
+MMMMDCCCCXXXXVI
+MMDCCCXXXV
+MMCXCIV
+MCMLXXXXIII
+MMMCCCLXXVI
+MMMMDCLXXXV
+CMLXIX
+DCXCII
+MMXXVIII
+MMMMCCCXXX
+XXXXVIIII