#include <bits/stdc++.h>
using namespace std;
int g=1;
void zd(int n){
int a,b;
a=n/2,b=n-n/2;
if(a==b){
g=g*b;
zd(a);
cout << b << " ";
}
else {
g=g*a*b;
cout << min(a,b) << " " << max(a,b) << " ";
}
}
int main() {
int n;
cin >> n;
zd(n);
cout << endl << g << endl;
return 0;
}