#include<stdio.h>
#include<algorithm>
using namespace std;
int A[100100];
int f(int n){
    printf("%d\n",n);
    if(n==1) return 0;
    if(A[n]>0) return A[n];
    int i, m = n;
    for(i=2;i*i<=n;i++){
        if(n%i==0){
            if((n/i)%2==1) m = min(m,f(i));
            if(i%2==1) m = min(m,f(n/i));
        }
    }
    m = min(m,f(n-1));
    return A[n]=m+1;
}
int main(){
    int n, i;
    scanf("%d", &n);
    printf("%d ",f(n));
    for(i=1;i<=n;i++){
        printf("%d ", f(i));
        if(i%12==0)printf("\n");
    }
    printf("\n%d ",f(n));
}
