called with [9, 1, 10, 3, 9] called with [9, 1] called with [9] called with [1] returning [1, 9] 1 called with [10, 3, 9] called with [10] called with [3, 9] called with [3] called with [9] returning [3, 9] 0 returning [3, 9, 10] 2 returning [1, 3, 9, 9, 10] 4 4