#include<cstdio>
#include<iostream>
#include<string>

#define NMAX 50000+50
#define YES 0
#define NO 1

using namespace std;

int main(void){

	int sosuu[NMAX];

	/*hurui*/
	int hurui[NMAX]={YES};
	int cnt=0;
	hurui[0]=NO,hurui[1]=NO;
	for(int i=2;i<NMAX;i++){
		if(hurui[i]==YES){
			sosuu[cnt]=i;
			cnt++;
			for(int j=i+i;j<NMAX;j+=i){
				hurui[j]=NO;
			}
		}
	}

	/*solve*/
	int n;
	int dp[2][NMAX];

	while(1){
		cin>>n;
		if(n==0) break;
		dp[0][0]=1,dp[1][0]=0;

		for(int i=1;i<=n;i++){
			dp[0][i]=0,dp[1][i]=0;
		}

		cout<<n<<","<<sosuu[0]<<endl;
		for(int i=0;i<2;i++){
			for(int j=0;sosuu[j]<n;j++){
				for(int k=0;k<n;k++){
					if(dp[0][k]>0){
						if(k+sosuu[j]<=n){
							dp[1][k]++;
							dp[1][k+sosuu[j]]++;
						}
					}
				}
			}
			for(int i=0;i<n;i++){
				dp[0][i]=dp[1][i];
				dp[1][i]=0;
			}
		}
		cout<<dp[1][n]-(dp[1][n]/2)<<endl;
	}

	return 0;
}