#include <iostream>
#include <string.h>
#include <cstdio>
#include <cmath>
using namespace std;
int L, sum = 0, cnt = 0;
bool prime_book[100008], flag = true;
void get_prime(int &n) {
memset(prime_book, true, sizeof(prime_book));
int x = sqrt(n);
for (int i = 2; i <= x; ++i) {
if (prime_book[i]) {
for (int j = 2; j <= n / i; ++j) {
prime_book[i * j] = false;
}
}
}
}
int main() {
scanf("%d", &L);
get_prime(L);
if(L == 1) {
printf("0\n0");
return 0;
}
for (int i = 2; i <= L; ++i) {
if (prime_book[i]) {
sum += i;
}
if (sum < L && prime_book[i]) {
++cnt;
printf("%d\n", i);
}
if (sum == L) {
++cnt;
printf("%d\n%d", i, cnt);
break;
}
if (sum > L) {
printf("%d\n", cnt);
break;
}
}
return 0;
}