Find shortest path from a to b