#include <bits/stdc++.h>
#pragma warning(disable : 4996)
const long long MOD = 1000000007;
using namespace std;
void solve() {
  int n;
  scanf("%d", &n);
  vector<int> delflag(n + 1);
  vector<vector<int> > w(n + 1);
  int i;
  for (i = 1; i <= n / 2 + 1; i++) {
    int curr = i + i;
    while (curr <= n) {
      w[i].push_back(curr);
      curr += i;
    }
  }
  vector<int> ans;
  int num = n;
  for (i = n; i >= 0; i--) {
    if (!w[i].empty()) {
      vector<int> vv;
      int j;
      for (j = 0; j < (int)w[i].size(); j++) {
        int tmp = w[i][j];
        if (delflag[tmp] == 0) {
          ans.push_back(i);
          delflag[tmp] = 1;
        }
      }
    }
  }
  reverse(ans.begin(), ans.end());
  for (i = 0; i < n - 1; i++) {
    printf("%d", ans[i]);
    if (i < n - 2) printf(" ");
  }
  printf("\n");
  return;
}
int main(int argc, char* argv[]) {
  solve();
  return 0;
}
