storage unit ;
parameter nat ;
return (list (contract unit unit)) ;
code
  { CAR ; DUP ; PUSH nat 0 ; CMPNEQ ;
    DIIP { NIL (contract unit unit) } ;
    LOOP
      { PUSH tez "5.00" ;
        PUSH bool True ; # delegatable
        NONE key_hash ; # delegate
        PUSH key_hash "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ; # manager
        CREATE_ACCOUNT ;
        SWAP ; DIP { CONS } ;
        PUSH nat 1 ; SWAP ; SUB ; ABS ;
        DUP ; PUSH nat 0 ; CMPNEQ } ;
    DROP ;
    UNIT ; SWAP ; PAIR }
