https://www.youtube.com/watch?v=rKQaZuoUR4M
https://www.geeksforgeeks.org/detect-cycle-in-a-graph/