#include using namespace std; int ans[40]; void compute(int val, int &size){ size = 0; while(val >= 1){ ans[size] = val % 2; val/=2; size++; } for(int i=0;i> n; for(int i=0;i> val; compute(val, size); int low; if(size > 1){ for(low = size-1; low>=0; low--){ if(ans[low] == 1){ break; } } int hight; for(hight = 0; hight < size; hight++){ if(ans[hight] == 0) break; } if(low > hight) swap(ans[low], ans[hight]); } int fin = 0; for(int j=0;j