%%HP: T(3)A(D)F(.);
@ by ?
@ for ?
DIR
  DECODE
    \<< \-> f
      \<< DUP f SUBNUM OVER f 1 + SUBNUM 1 - SUB
      \>>
    \>>
  ENCODE
    \<< DUP 2 + DUP 1 - STRCON \-> n data
      \<< 1 n
        FOR i data i SUBNUM OVER SIZE + data SWAP i 1 + SWAP CHR REPL SWAP
          + 'data' STO
        NEXT data
      \>>
    \>>
  STRCON
    \<< \-> code count
      \<< "" code CHR 'code' STO 1 count
        START code +
        NEXT
      \>>
    \>>
  SUBNUM
    \<< DUP SUB NUM
    \>>
END
