Source: https://faculty.chass.ncsu.edu/marchi/fl_216/Marseillaise.pdf