Source: https://www.cs.cmu.edu/~15122/handouts/09-stackqueue.pdf