100
rrange
m:
    save-a
    ( "no more" )
    logical-or
    show-space
    w( "bottle" " of beer" )
    push-a
    dec
        "s"
        join
    f2
    catenate #(list+list)
    dup2
    ( " on the wall." )
    show-line
    catenate #(list+list)
    rrot
    @4
    init
    swap
    pair
    show-comma
    "."
    show-line
    push-a
    not
    w( "E\xc2\x17%\xc5\x84\xda\x83g\xec\x15\x90M\xf8\x1b\xcf\xe3As\xd6" "\r\xb3c\xb5l\x82/x\xe2\xc9\x14\x08\x14\xd0\x94_%\x01G\xe4\x14" )
    get
    256
    base #(list to num)
    30
    base #(num to list)
        ( ", TG" )
        lowercase-alphabet
        catenate #(list+list)
        get
    m4
    show-space
}
left-uncons
catenate #(list+list)
show-line
s( ".\nn" "\nN" )