#include <iostream>
using namespace std;
int zcf(int x){int r=0; while(x){if(x%2) r++; x>>=1;} return r;}
int main(){
int n; scanf("%d", &n);
int r=0, x=1, rs[1000003], k=0;
while(r+zcf(x)<=n) r+=zcf(x), x++;
while(x){if(r-zcf(x)>=n) r-=zcf(x); else rs[k]=x, k++; x--;}
printf("%d\n", &k);
for(int i=0; i<k; ++i) printf("%d ", rs[i]);
}
样例不过 帮帮忙