#include <iostream>
#include <vector>
using namespace std;
bool isPrime[1002];
int main() {
int n, i, j;
cin >> n;
vector<int> prime;
for (i = 0; i <= n; i++) isPrime[i] = true;
isPrime[0] = isPrime[1] = false;
for (i = 2; i <= n; i++) {
if (isPrime[i]) {
prime.push_back(i);
}
for (j = 0; j < prime.size() && i*prime[j] <= n; j++) {
isPrime[i*prime[j]] = false;
if (i % prime[j] == 0) break;
}
}
for (i = 0; i < prime.size(); i++) cout << prime[i] << ' ';
cout << endl;
cout << prime.size();
return 0;
}