;; A teaser to practical Swearjure by hyPiRion
;; Part I: Quicksort

(#((% (+ (*) (*))) % (`[~@%&] (+)))
 [#({} %& [])
  #([[(`[~@%] (+))]] (+))
  #((% ({[] (+)} `[~@(`[~@%&] (+))] (+ (*) (*) (*))))
    % (`[~@%&] (+)))
  #([`[~@((% (+ (*) (*))) %
          ((% (+ (*) (*) (*) (*))) % (`[~@(`[~@%&] (+))] (+))
           (`[~@%&] (+))))
       ~(`[~@(`[~@%&] (+))] (+))
       ~@((% (+ (*) (*))) %
          ((% (* (+ (*) (*)) (+ (*) (*) (*)))) % (`[~@(`[~@%&] (+))] (+))
           ((% (* (+ (*) (*)) (+ (*) (*) (*) (*)))) % (`[~@%&] (+)))))]] (+))
  #((% ({[] (+)}
        `[~@(`[~@%&] (*))] (+ (*) (*) (*) (*) (*))))
    % (`[~@%&] (+)) (`[~@%&] (*)))
  #([`[~@((% ({(= + +) (*)}
              (< (`[~@(`[~@%&] (*))] (+)) (`[~@%&] (+)))
              (+)))
          (`[~@%&] (*)))
       ~@((% (+ (*) (*) (*) (*))) % (`[~@%&] (+))
          ((% (* (+ (*) (*)) (+ (*) (*) (*) (*)))) % (`[~@%&] (*))))]] (+))
  #((% ({[] (+)}
        `[~@(`[~@%&] (*))] (+ (*) (* (+ (*) (*)) (+ (*) (*) (*))))))
    % (`[~@%&] (+)) (`[~@%&] (*)))
  #([`[~@((% ({(= + +) (*)}
              (>= (`[~@(`[~@%&] (*))] (+)) (`[~@%&] (+)))
              (+)))
          (`[~@%&] (*)))
       ~@((% (* (+ (*) (*)) (+ (*) (*) (*)))) % (`[~@%&] (+))
          ((% (* (+ (*) (*)) (+ (*) (*) (*) (*)))) % (`[~@%&] (*))))]] (+))
  #((% ({[] (+)} `[~@(`[~@%&] (+))] (* (+ (*) (*) (*)) (+ (*) (*) (*)))))
    % (`[~@%&] (+)) (*) [])
  #((% ({'% (+ (*) (* (+ (*) (*) (*)) (+ (*) (*) (*))))}
        (`[~@(`[~@%&] (+)) ~'%] (`[~@%&] (*)))
        (- (* (+ (*) (*) (*)) (+ (*) (*) (*) (*))) (*))))
    % (`[~@%&] (+)) (`[~@%&] (*)) (`[~@%&] (+ (*) (*))))
  #({} % (`[~@%&] (+ (*) (*))))
  #((% (* (+ (*) (*) (*)) (+ (*) (*) (*)))) % (`[~@%&] (+))(+ (`[~@%&] (*)) (*))
    `[~@(`[~@%&] (+ (*) (*))) ~(`[~@(`[~@%&] (+))] (`[~@%&] (*)))])]
   [3 0 2 4 1 5])