#include <bits/stdc++.h>
using namespace std;
int n, c[1005], nr;
vector<int> p, s;
void sieve(int n) {
  int i, j;
  for (i = 2; i <= n; i++)
    if (!c[i]) {
      p.push_back(i);
      for (j = 2 * i; j <= n; j += i) c[j] = 1;
    }
}
int main() {
  scanf("%d", &n);
  sieve(n);
  for (int i = 0; i < p.size(); i++) {
    nr = p[i];
    while (nr <= n) {
      s.push_back(nr);
      nr *= p[i];
    }
  }
  printf("%d\n", s.size());
  for (int i = 0; i < s.size(); i++) printf("%d ", s[i]);
  return 0;
}
