#include <iostream>
#include <vector>
#include<set>
using namespace std;
vector<int> primeNum;

bool prime(int x){
    for(int i=2;i<x;i++){
        if(x%i==0){
            return false;
        }
    }
    return true;
}
void solve(int total,int n,int s,int i,vector<int> pair){
    if(total==s){
        for(int i=0;i<pair.size();i++){
            cout<<pair[i]<<" ";
        }
        cout<<endl;
        return;
    }
    if(i == primeNum.size()){
        return;
    }
    solve(total+primeNum[i],n,s,i+1);
    pair.push_back(primeNum[i]);
    solve(total,n,s,i+1);
    pair.pop_back();
}
int main() {
    int n=2;
    int p=3;
    int s=54;
    vector<int> pair;
    for(int i=p+1;i<=s;i++){
        if(prime(i)){
            primeNum.push_back(i);
        }
    }
    solve(0,n,s,0,pair);
    return 0;
}