#include<bits/stdc++.h>

#define fer( a , b , c ) for( register int a = b ; a <= c ; a ++ )
#define der( a , b , c ) for( register int a = b ; a >= c ; a -- )

  using namespace std ;

inline int read(){
	int sum = 0 , f = 1 ;
	char ch = getchar() ;
	while( ch < '0' || ch > '9' ){
		if( ch == '-' ){
			f = -1 ;
		}
		ch = getchar() ;
	}
	while( ch >= '0' && ch <= '9' ){
		sum = ( sum << 1 ) + ( sum << 3 ) + ( ch ^ 48 ) ;
		ch = getchar() ;
	}
	return sum * f ;
}

int a ;

signed main(){
	a = read() ;
	printf( "%d" , max( 0 , a ) ) ;
 	return 0 ;
}


#include <bits/stdc++.h>
using namespace std;

int N, ans[100005], lp[100005];

void Sieve() {
	
	vector<int> v;
	for(int i = 2; i <= N; i++) {
	    if (lp[i] == 0) {
	        lp[i] = i;
	        v.push_back(i);
	    }
	    for(int j = 0; j < (int)v.size() && v[j] <= lp[i] && i*v[j] <= N; j++) {
	        lp[i * v[j]] = v[j];
	    }
	}
}

int main() {

	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	cin >> N;
		
	Sieve();
	
	cout << "1 ";
	for(int i = 2; i <= N; i++) {
		if(lp[i] == i) {
			ans[i] = 2;
		} else {
			ans[i] = ans[i/lp[i]] + 1;
		}
		cout << ans[i] << ' ';
	}
	cout << '\n';
}