: roman_numeral dup 11 = if pop "eleven" exit then dup 10 = if pop "ten" exit then dup 9 = if pop "nine" exit then dup 8 = if pop "eight" exit then dup 7 = if pop "seven" exit then dup 6 = if pop "six" exit then dup 5 = if pop "five" exit then dup 4 = if pop "four" exit then dup 3 = if pop "three" exit then dup 2 = if pop "two" exit then dup 1 = if pop "one" exit then pop "twelve" ; : results dup 0 = if pop "on the %x." exit then dup 1 = if pop "just past the %x." exit then dup 2 = if pop "a little past the %x." exit then dup 3 = if pop "halfway betwen the %x and the %y." exit then dup 4 = if pop "just before the %y." exit then ; : trunc 1 + dup 11 > if 12 - then ; : main time rot pop dup 11 > if 12 - then over 12 / results "The little hand is " swap strcat over roman_numeral "%x" subst swap trunc roman_numeral "%y" subst " The big hand is " strcat over 5 % results strcat over 5 / roman_numeral "%x" subst swap 5 / trunc roman_numeral "%y" subst me @ swap notify ;