public class test43 {
public int binInsert(int n,int m,int j,int i){
//题中的条件已告知n的第j到第i位均是0,因而只要将m的二进制右移j位,再做或操作
//如题目示例中1024为10000000000,19的二进制为10011,右移两位则位1001100
//将两者取或操作得到10001001100即位1100
m<<=j;
return m^n;
}
}
public class test45 {
public static boolean isprime(int m){
//素数只能被它本身和1整除
//i*i<=m或者i<m都可
for (int i = 2; i*i<=m ; i++) {
if (m%i==0){
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while (scanner.hasNext()){
int n=scanner.nextInt();
//从n的二分之一开始取数
int number=n/2;
for (int i = number; i >0 ; i++) {
//由于偶数一定由两个素数组成,因而大于0即可
if (isprime(i)&&isprime(n-i)){
//判断两个最近的是否都为素数
System.out.println(n-i);
System.out.println(i);
break;//退出
}
}
}
}
}