Source: https://www.imo.universite-paris-saclay.fr/~stafav/IMG/pdf/modlin4bis.pdf