called with [1, 3, 8, 4, 5] called with [1, 3] called with [1] called with [3] returning [1, 3] 0 called with [8, 4, 5] called with [8] called with [4, 5] called with [4] called with [5] returning [4, 5] 0 returning [4, 5, 8] 2 returning [1, 3, 4, 5, 8] 2 2