#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 2e4 + 15;
vector<int> rec;
vector<int> ans;
void DFS(int n, vector<int>& vec) {
  if (vec.size() == 1) return;
  vector<int> l, r;
  for (int i = 0; i < vec.size(); i++) {
    if (vec[i] % n == 0)
      l.push_back(vec[i]);
    else
      r.push_back(vec[i]);
  }
  if (!l.size() || !r.size())
    DFS(n + 1, vec);
  else {
    ans.push_back(n);
    DFS(n + 1, l);
    DFS(n + 1, r);
  }
  return;
}
int main() {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  if (n == 1) {
    cout << "0\n";
    return 0;
  }
  for (int i = 1; i <= n; i++) rec.push_back(i);
  DFS(2, rec);
  sort(ans.begin(), ans.end());
  ans.resize(unique(ans.begin(), ans.end()) - ans.begin());
  cout << ans.size() << endl;
  for (int e : ans) {
    cout << e << ' ';
  }
  cout << endl;
  return 0;
}
