parameter nat; return (list nat); storage unit; code {CAR; NIL nat; SWAP; DUP; PUSH nat 0; CMPNEQ; LOOP {DUP; DIP {SWAP}; CONS; SWAP; PUSH nat 1; SWAP; SUB; DUP; DIP{ABS} ; PUSH int 0; CMPNEQ}; CONS; UNIT; SWAP; PAIR};