def METHOD_NAME(self, S):
    r"""
    Coercion from a parent ``S``.
    There is a coercion from ``S`` if ``S`` has a coerce map to `\Q`
    or if `S = \Q/m\Z` for `m` a multiple of `n`.
    TESTS::
        sage: G2 = QQ/(2*ZZ)
        sage: G3 = QQ/(3*ZZ)
        sage: G4 = QQ/(4*ZZ)
        sage: G2.has_coerce_map_from(QQ)
        True
        sage: G2.has_coerce_map_from(ZZ)
        True
        sage: G2.has_coerce_map_from(ZZ['x'])
        False
        sage: G2.has_coerce_map_from(G3)
        False
        sage: G2.has_coerce_map_from(G4)
        True
        sage: G4.has_coerce_map_from(G2)
        False
    """
    if QQ.has_coerce_map_from(S):
        return True
    if isinstance(S, QmodnZ) and (S.n / self.n in ZZ):
        return True