BFS to get the path from start to end.
pt 1 took some time to wrap around, and initial
versions of the code used defaultdict() to keep
counts of all cheats to check if the example
puzzle input gace the right counts for the cheats.
But since only 100 or more was requested, a counter
do the job in the final version of the code.
For pt 2, a permutation is used.