Source: https://raktimchatterjee.files.wordpress.com/2015/09/solving-mathematical-problems-terence-tao.pdf