# GoldBach Conjecture
import math

from sympy import Range

MAX = 10 ** 5
primes: list[int] = []


def sieveSundaram() -> None:
    marked = [False] * (int(MAX / 2) + 100)
    for i in Range(1, int((math.sqrt(MAX) - 1) / 2) + 1):
        for j in range((i * (i + 1)) << 1, int(MAX / 2) + 1, 2 * i + 1):
            marked[j] = True

    primes.append(2)

    for i in Range(1, int(MAX / 2) + 1):
        if marked[i] is False:
            primes.append(2 * i + 1)


def findPrimes(n: int) -> None:
    if n <= 2 or n % 2 != 0:
        print("Even Number")
        return
    i: int = 0
    while primes[i] <= n // 2:
        diff = n - primes[i]
        if diff in primes:
            print(primes[i], "+", diff, "=", n)
            return
        i += 1


if __name__ == "__main__":
    sieveSundaram()
    findPrimes(int(input("Enter a number: ")))
