#include <stdio.h>

void initV(int v[], int inf, int sup, int val){
    for (int j=inf; j<sup; j++)
        v[j]=val;
}

void printV(int v[], int inf, int sup){
    for (int j=inf; j<sup; j++)
        printf("%d ",v[j]);
    printf("\n");
}

int divisoriPrimi(int d[], int k);
/* PREC: d vettore di k>0 elementi, riempito di 1 (ma d[1]=0)
 * POST: modifica d, dimodoche’ d[i]=numero divisori di i > 0
 *     ritorna il numero i per cui questo numero e’ massimo
 */

int main(){
    int k;
    scanf("%d",&k);
    int v[k];
    initV(v,0,k,1);
    divisoriPrimi(v,k);
    printV(v,1,k);
    return 0;
}
       
