Source: https://www.cs.yale.edu/homes/spielman/561/lect03-15.pdf