%%HP: T(3)A(R)F(.);
\<<
\-> r l \<<
r l + 2 / FLOOR ROLL
l ROLL
IF DUP2 > THEN SWAP END
l ROLLD r ROLL
IF DUP2 > THEN
r
ELSE
SWAP r ROLLD l ROLL
IF DUP2 > THEN SWAP END
l
END
ROLLD
r 3 + SWAP
l 3 +
WHILE
WHILE 1 + DUP2 PICK < REPEAT END
SWAP ROT
WHILE 1 - DUP2 PICK > REPEAT END
ROT DUP2 >
REPEAT
DUP2 SWAP ROLL SWAP ROLLD
DUP2 ROLL OVER ROLLD
DROP ROT SWAP
END
DROP 2 - SWAP OVER ROLLD
IF r DUP2 - -18 < THEN
SWAP DUP 'r' STO 1 + QPART r
ELSE
DROP
END
IF 2 - l DUP2 - 18 > THEN
QPART
ELSE
DROP2
END
\>>
\>>