#include <iostream>
using namespace std;

#define MAX 25

int primes[MAX] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
int possSums[100];
int possSumCount = 0;

int sumAcheived[100];

bool isPrime(int n) {
	for(int i = 0; i < MAX; i++)
		if(primes[i] == n) return true;
		
	return false;
}

bool canBeSumOfPrimes(int n) {
	for(int i = 2; i < n - 1; i++)
		if(isPrime(i) && isPrime(n - i)) return true;
	
	return false;
}

bool isPossSum(int n) {
	for(int i = 0; i < possSumCount; i++)
		if(possSums[i] == n) return true;
		
	return false;
}

int main() {
	
	for(int i = 5; i < 100; i++) 
		if(!canBeSumOfPrimes(i)) possSums[possSumCount++] = i;
	
	
	for(int i = 5; i < 2500; i++) {
		int psCount = 0, ps1 = 0, ps2 = 0;
		for(int j = 1; j*j <= i; j++) {
			if(i % j == 0) {
				if(isPossSum(j + (i/j))) {
					ps1 = j;
					ps2 = i/j;
					psCount++;
				}
			}
		}
		
		if(psCount == 1) sumAcheived[ps1 + ps2]++;
	}

	for(int i = 0; i < 100; i++) {
		if(sumAcheived[i] == 1) {
			cout << "Sum = " << i << endl;
			break;
		}
	}

	return 0;
}