// Summation of Four Primes.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <vector> #include <math.h> using namespace std; bool IsPrime(int x){ int y=(int)sqrt(x*1.0); for(int i=2;i<=y;++i){ if(x%i==0)return false; } return true; } int _tmain(int argc, _TCHAR* argv[]) { int FourPrimes[4]={0}; vector<int>Primes; int n; int m; while(cin>>n){ if(n==EOF)break; if(n<8)cout<<"Impossible."<<"/n"; else{ bool isFind=false; if(n%2==0){ FourPrimes[0]=2; FourPrimes[1]=2; n-=4; } else{ FourPrimes[0]=2; FourPrimes[1]=3; n-=5; } for(int i=2;i<n;++i){ if(IsPrime(i)&&IsPrime(n-i)){ FourPrimes[2]=i; FourPrimes[3]=n-i; isFind=true; break; } } if(isFind){ cout<<FourPrimes[0]<<" "<<FourPrimes[1]<<" "<<FourPrimes[2]<<" "<<FourPrimes[3]<<"/n"; } else cout<<"Impossible."<<"/n"; } } return 0; }