start
the algorithm