Dijkstra's algorithm.

N
D
P