Source: https://math.stanford.edu/~ryzhik/shabat-all.pdf