Source: http://tele.informatik.uni-freiburg.de/Teaching/ss04/FP/dft.pdf