https://medium.com/@ashutoshkanojiya1/improve-your-programming-with-data-structures-and-algorithms-dsa-780df84f186c