https://medium.com/@ayushchandrapatel7051/mastering-pythons-itertools-module-a-comprehensive-guide-35cfeda95957