Source: https://web.itu.edu.tr/~ozgerme/Scien_engin_comp/05-week-Flow control errors