//sieve-н алгоритм  
#include <bits/stdc++.h>  
using namespace std;  
      
    int n;  
    bool Prime[2000000]; // Prime[i] нь i гэсэн тоо анхны тоо бол 0 үгүй бол 1  
  
  
int main() {  
    cin >> n;  
    Prime[1] = 1;  
  
    for(int i = 2; i*i <= n; i++) {  
        if(Prime[i]) continue; // i тоо нь анхны тоо биш тул алгасна.  
          
        // i-д хуваагддаг дараачийн бүх тоонууд нь анхны тоо биш тул тэмдэглэнэ.  
        for(int j = i+i; j <= n; j += i) {  
            Prime[j] = 1;  
        }  
    }  
    
    for(int i = 1; i <= n; i++) {
    	if(!Prime[i]) {	// анхны тоо
    		cout << i << " ";
    	}
    }
    cout << endl;  
  
    return 0;  
}  