#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <string>
#include <iomanip>
#define _USE_MATH_DEFINES
#include <math.h>
using namespace std;
#define rep(i,n) for(i=0;i<n;i++)
#define repl(k,n) for(k=0;k<n;++k)

int main() {
	long long int n;
	cin >> n;
	long long int half = (long long int)(sqrt(n)+1);
	long long int i;
	long long int count = 0;
	vector<long long int> v(0);
	vector<long long int> u(0);
	for (i = 1; i < half; i++) {
		if (n % i == 0) {
			v.push_back(i);
			if (n / i == i) {
				count = count + 1;
			}
			else {
				u.push_back(n / i);
				count = count + 2;
			}
		}
	}

	reverse(u.begin(), u.end());
	copy(u.begin(), u.end(), back_inserter(v));
	for (i = 0; i < count; i++) {
		cout << v[i]<<"\n";
	}

	return 0;
}
#include<iostream>
using namespace std;
int sum(int x)
{
	int ans=0;
	for(int j=2;j<x;j++)
	{
		int s=0;
		if(x%j==0)
		{
			while(x%j==0) x/=j,s++;
		}
		ans+=s;
	}
	if(x>1)	ans++;
	return ans;
}
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		if(n==1)
		cout<<"1";
		else
		{
			cout<<" "<<sum(i)+1;
		}
	}
}