self 1 2 range 1 2 3 -> 1 2 3 4 5 self 1 2 range 1 2 3 -> 1 self 1 2 range 1 2 3 4 -> 1 2 3 4 5 6 self 1 2 range 1 2 -> 1 2 3 4 self 1 2 range 1 2 -> (empty) self 1 2 range (empty) -> 1 2 self 1 2 range 1 -> 1 2 3 self 1 2 range 1 -> 1 2