#include #include using namespace std; vectorprimes = {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,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199, 211}; vector dp_num_ways (50,-1); long long int calculate_num_ways(long long int from_index, long long int final_dest){ if(dp_num_ways[from_index] != -1){ return dp_num_ways[from_index]; } if(primes[from_index] == final_dest){ dp_num_ways[from_index] = 1; return dp_num_ways[from_index]; } long long numWays = 0; for(long long int i = from_index+1; i< primes.size() ;i++){ if(primes[from_index] + 14 < primes[i]){ break; } numWays+= calculate_num_ways(i, final_dest); } dp_num_ways[from_index] = numWays; return dp_num_ways[from_index]; } int main() { long long int dest; cin >> dest; calculate_num_ways(0, dest); cout << dp_num_ways[0] << endl; return 0; }