#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0), cin.tie(0);
int N; cin >> N;
vector<int> pfac(N+1);
vector<int> primes; primes.reserve(N-1);
vector<int> vals; vals.reserve(N-1);
for (int i = 2; i <= N; i++) {
if (!pfac[i]) {
primes.push_back(i);
pfac[i] = i;
}
vals.push_back(i/pfac[i]);
for (int p : primes) {
if (i*p > N || p > pfac[i]) break;
pfac[i*p] = p;
}
}
sort(vals.begin(), vals.end());
assert(int(vals.size()) == N-1);
for (int v : vals) { cout << v << ' '; }
cout << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKTsKCWludCBOOyBjaW4gPj4gTjsKCXZlY3RvcjxpbnQ+IHBmYWMoTisxKTsKCXZlY3RvcjxpbnQ+IHByaW1lczsgcHJpbWVzLnJlc2VydmUoTi0xKTsKCXZlY3RvcjxpbnQ+IHZhbHM7IHZhbHMucmVzZXJ2ZShOLTEpOwoJZm9yIChpbnQgaSA9IDI7IGkgPD0gTjsgaSsrKSB7CgkJaWYgKCFwZmFjW2ldKSB7CgkJCXByaW1lcy5wdXNoX2JhY2soaSk7CgkJCXBmYWNbaV0gPSBpOwoJCX0KCQl2YWxzLnB1c2hfYmFjayhpL3BmYWNbaV0pOwoJCWZvciAoaW50IHAgOiBwcmltZXMpIHsKCQkJaWYgKGkqcCA+IE4gfHwgcCA+IHBmYWNbaV0pIGJyZWFrOwoJCQlwZmFjW2kqcF0gPSBwOwoJCX0KCX0KIAoJc29ydCh2YWxzLmJlZ2luKCksIHZhbHMuZW5kKCkpOwoJYXNzZXJ0KGludCh2YWxzLnNpemUoKSkgPT0gTi0xKTsKCWZvciAoaW50IHYgOiB2YWxzKSB7IGNvdXQgPDwgdiA8PCAnICc7IH0KCWNvdXQgPDwgJ1xuJzsKIAoJcmV0dXJuIDA7Cn0=