n = int(input())
# Overall logic (Read before proceeding to the solution):
# 1. Perform a floor division by 2 on the input (even) number denoted as n.
# 2. Gradually reduce the resultant number from step 1 by 1 and
# check if the number is a prime number. Denote this number
# as b.
# 2.1 If b is a prime number, then calculate c as: c = n - b
# 2.2 If c is is NOT a prime number, reduce b by 1 until it is a prime
# number again.
# 3. This process terminates once both b and c are prime numbers. In other
# words, suppose we write a while loop, then if EITHER b OR c is NOT a
# a prime number, the while loop should keep going.
# Solution:
# First, you need write a function that checks whether an input integer
# is a prime number:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
"""
Why do we take the square root of n here? Because if a factor that is
larger than sqrt(n) exists (t), then there MUST BE another
factor that is SMALLER than sqrt(n) exists (s) such that
s*t = n. Therefore, there is NO NEED to check beyond int(n**0.5)+1
"""
if n%i == 0: # If any of the factors from i up to round(sqrt(n))+1
# can a factor of n, then n is NOT a prime number.
return False
return True
b = n // 2 # Start the value of b from the result of the floor division
# of n by 2.
c = n - b
while not (is_prime(b) and is_prime(c)):
b -= 1
c = n - b
print(b)
print(c)