Source: http://staff.ustc.edu.cn/~huangwc/book/Sipser_Introduction.to.the.Theory.of.Computation.3E.pdf