def 			_SCREAMING_SNAKE_CASE						( __lowercase   :			int = 1_0_0_0_0_0_0    )						->      int:





    """simple docstring"""

    __A         =	set(range(3			,				__lowercase			,				2    )    )
    primes.add(2    )
    for p in range(3			,				__lowercase			,				2    ):
        if p not in primes:
            continue
        primes.difference_update(set(range(p * p			,				__lowercase			,				__lowercase    )    )    )

    __A         =	[float(__lowercase    ) for n in range(limit + 1    )]

    for p in primes:
        for n in range(__lowercase			,				limit + 1			,				__lowercase    ):
            phi[n] *= 1 - 1 / p

    return int(sum(phi[2:]    )    )


if __name__ == "__main__":
  print(f"""{solution() = }""")












def 			_SCREAMING_SNAKE_CASE						( __lowercase   :			List[Any]			,				__lowercase   :			Dict			,				__lowercase   :			str    )						->      Dict:





    """simple docstring"""

    if n == 0:
        return 1

    elif n % 2 == 1:
        return (binary_exponentiation(__lowercase			,				n - 1			,				__lowercase    ) * a) % mod

    else:
        __A         =	binary_exponentiation(__lowercase			,				n / 2			,				__lowercase    )
        return (b * b) % mod


# a prime number
__a      :       Union[str, Any]				  =   701

__a      :       Dict				  =   1000000000
__a      :       Union[str, Any]				  =   10

# using binary exponentiation function, O(log(p)):
print((a / b) % p == (a * binary_exponentiation(b, p - 2, p)) % p)






print((a / b) % p == (a * b ** (p - 2)) % p)




