( "this is an example for huffman encoding":?S & 0:?chars & 0:?p & ( @( !S : ? ( [!p %?char [?p ? & !char+!chars:?chars & ~ ) ) | ) & 0:?prioritized & whl ' ( !chars:?n*%@?w+?chars & (!n.!w)+!prioritized:?prioritized ) & whl ' ( !prioritized:(?p.?x)+(?q.?y)+?nprioritized & (!p+!q.(!p.0,!x)+(!q.1,!y))+!nprioritized:?prioritized ) & 0:?L & ( walk = bits tree bit subtree . !arg:(?bits.?tree) & whl ' ( !tree:(?p.?bit,?subtree)+?tree & ( !subtree:@ & (!subtree.str$(!bits !bit))+!L:?L | walk$(!bits !bit.!subtree) ) ) ) & !prioritized:(?.?prioritized) & walk$(.!prioritized) & lst$L & :?encoded & 0:?p & ( @( !S : ? ( [!p %?char [?p ? & !L:?+(!char.?code)+? & !encoded !code:?encoded & ~ ) ) | out$(str$!encoded) ) & ( decode = char bits . !L : ?+(?char.?bits&@(!arg:!bits ?arg))+? & !char decode$!arg | !arg ) & out$("decoded:" str$(decode$(str$!encoded)));