import math
def check (num): #判断是否位素数
b = num
if(b == 2):
return True
for i in range(2,int(math.sqrt(b)) + 1):#到根号num即可,不然会超时
if(b % i == 0):
return False
return True
while True:
try:
num = int(input())
a = []
b = []
for i in range(2,int(num/2) + 1): #判断从1到num/2是否为素数
a.append(i)
for i in a:
if(check(i)): #判断i
if(check(num - i)): #判断num-i
num_1 = min(num - i,i)
num_2 = max(num - i,i)
b.append([num_1,num_2,num_2 - num_1]) #按照两个数的小的值,大的值,大的减小的值插入数组
b.sort(key = lambda ele:ele[2]) #key = lambda ele:ele[2]是按照每行的第三个值,即是第三列排序,排序后的第一行就是差值最小的两个组成素数
print(b[0][0])
print(b[0][1])
except:
break