#从中间开始找的话就是保证两个数差距最小,然后再分别判断两个数是不是质数,就可以了
import math
def isPrime(num):
for i in range(2,int(math.sqrt(num))+1):
if num%i==0:
return False
return True
while True:
try:
n=int(input())
a=int(n/2)
while a<n-2:
b=n-a
if isPrime(a) and isPrime(b):
print(b)
print(a)
break
a+=1
except:
break
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num){
for(int i=2;i<=sqrt(num*1.0);i++){
if(num%i==0)
return false;
}
return true;
}
int main(){
int n;
int res1,res2;
while(cin >> n){
if(n<2)
return 1;
else{
for(int i=1;i<=n/2;i++){
if(isPrime(i) && isPrime(n-i)) {
res1=i;
res2=n-i;//两个数还不能交换,必须这样输出
}
}
cout << res1 << endl;
cout << res2 << endl;
}
}
return 0;
}