#include<vector>
using namespace std;
int isPrime(int n){
if(n<2){
return 0;
}
if(n==2){
return 1;
}
for(int i=2;i<n;i++){
if(n%i==0){
return 0;
}
}
return 1;
}
int main(){
int n;
while(cin>>n){
vector<int> primeList;
for(int i=2;i<=n;i++){
if(isPrime(i)==1){
primeList.push_back(i);
}
}
int min=n;
for(int j=primeList.size();j>=0;j--){
if(isPrime(n-primeList[j])==1){
if(abs(n-2*primeList[j])<min){
min=abs(n-2*primeList[j]);//计算最小的差值;
}
}
}
cout<<(n-min)/2<<endl<<(n+min)/2<<endl;//两个素数一个是x,另一个是x+min,且2x+min=n;
}
}