1. Define a recursive function in Scheme that implements quick sort, which can be specified by the following two rules.
a) The empty list is already sorted.
b) Non-empty lists can be sorted by sorting the tail values ≤ the head, sorting the tail values > the head, and then appending the resulting list on the either side of the head values.