#include <bits/stdc++.h>
using namespace std;
const int MAXN = 500005;
const int MAXM = 1000005;
const int MOD = 1000000007;
const int MAMOD = 998244353;
const int INF = 0x3f3f3f3f;
const long long LLINF = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1.0);
const double EPS = 1e-8;
int vis[MAXN];
void getprime(int x) {
  for (int i = 2; i <= x; ++i)
    for (int j = i * 2; j <= x; j += i) vis[j] = i;
  for (int i = 2; i <= x; ++i)
    if (!vis[i]) vis[i] = 1;
}
int main() {
  ios::sync_with_stdio(0);
  int n;
  cin >> n;
  getprime(n);
  sort(vis + 2, vis + n + 1);
  for (int i = 2; i <= n; ++i) cout << vis[i] << " ";
  return 0;
}
