#include <iostream> #include <ctime> #include <cstdlib> #include <bitset> #include <vector> #include <cstdio> #define VMAX 7000 using namespace std; bitset<VMAX+5> B,tmp; int K,nrelem,val; vector<int> rez; int main() { srand(time(NULL)); cin>>K; //freopen("1.out","w",stdout); B[0]=1; while(K) { tmp.reset(); val=rand()%5000+1; nrelem=0; for(int i=0;i<=VMAX;i++) if(B[i]&&(!B[i|val])&&(!tmp[i|val])) { nrelem++; tmp[i|val]=1; } if(K>=nrelem&&nrelem) {rez.push_back(val);K-=nrelem;B|=tmp;} } cout<<rez.size()<<"\n"; for(auto it:rez)cout<<it<<" "; return 0; }