Source: https://people.math.ethz.ch/~farkas/teaching/QF_material/QF15_Slides_Lecture01_V2.pdf