http://fullstackprep.dev/articles/dsa/datastructure/topological-sorting