( unroman = nbr,lastVal,val . 0:?nbr:?lastVal & @( low$!arg : ? %@?L ( ? & (m.1000) (d.500) (c.100) (l.50) (x.10) (v.5) (i.1) : ? (!L.?val) ? & (!val:~>!lastVal|!val+-2*!lastVal) + !nbr : ?nbr & !val:?lastVal & ~ ) ) | !nbr ) & (M.1000) (MCXI.1111) (CMXI.911) (MCM.1900) (MCMXC.1990) (MMVIII.2008) (MMIX.2009) (MCDXLIV.1444) (MDCLXVI.1666) (MMXII.2012) : ?years & (test=.out$(!arg unroman$!arg)) & ( !years : ? (?L.?D) (?&test$!L&~) | done );