Source: https://engineering.futureuniversity.com/BOOKS%20FOR%20IT/Sipser_2006_Second_Edition_Problems.pdf