https://en.wikipedia.org/wiki/Johnson%27s_algorithm
https://www.geeksforgeeks.org/johnsons-algorithm/
https://www.youtube.com/watch?v=johyrWospv0