procedure main(A) write(right("n",8)," ",right("MP",8),right("MDR",5)) every r := mdr(n := 123321|7739|893|899998) do write(right(n,8),":",right(r[1],8),right(r[2],5)) write() write(right("MDR",5)," ","[n0..n4]") every m := 0 to 9 do { writes(right(m,5),": [") every writes(right((m = mdr(n := seq(m))[2],.n)\5,6)) write("]") } end procedure mdr(m) i := 0 while (.m > 10, m := multd(m), i+:=1) return [i,m] end procedure multd(m) c := 1 while m > 0 do c *:= 1(m%10, m/:=10) return c end