Source: https://math.jhu.edu/~vzakharevich/teaching/fall2019/Ch_11_Flow_Chart.pdf