def find_runs(lst: list) -> List[Tuple[int, int]]:
"""Return a list of tuples indexing the runs of lst.
Precondition: lst is non-empty.
>>> find_runs([1, 4, 7, 10, 2, 5, 3, -1])
[(0, 4), (4, 6), (6, 7), (7, 8)]
>>> find_runs([0, 1, 2, 3, 4, 5])
[(0, 6)]
>>> find_runs([10, 4, -2, 1])
[(0, 1), (1, 2), (2, 4)]
"""
runs = []
# Keep track of the start and end points of a run.
run_start = 0
run_end = 1
while run_end < len(lst):
# How can you tell if a run should continue?
# (When you do, update run_end.)
# How can you tell if a run is over?
# (When you do, update runs, run_start, and run_end.)
pass