called with [3, 1, 9, 9, 3] called with [3, 1] called with [3] called with [1] returning [1, 3] 1 called with [9, 9, 3] called with [9] called with [9, 3] called with [9] called with [3] returning [3, 9] 1 returning [3, 9, 9] 2 returning [1, 3, 3, 9, 9] 3 3