line-mode
words
empty-list
swap
length
{
    @2
    left-uncons
    read-num
    @0
    "M"
    <
        rot
        tuck
        take-end
        catenate #(list+list)
        swap
    b5
        take
        catenate #(list+list)
        @2
        @3
        drop
    b5
    pair
    get
    eval
    length
    push-a
    when
}
save-a
when
unwords