#ifdef ONLINE_JUDGE
#include "perm.h"
#endif
#include <bits/stdc++.h>
#define int long long
using namespace std;
string tostring(int k){
string ans;
while(k){
ans+=(k%2)+'0';
k/=2;
}
return ans;
}
vector<signed>construct_permutation(int k){
vector<signed>ans;
int hi=1,lo=0;
string b=tostring(k);
reverse(b.begin(),b.end());
vector<int>comp;
for(int i = 1; i < b.size(); i++){
comp.push_back(hi);
ans.push_back(hi++);
if(b[i]=='1'){
comp.push_back(lo);
ans.push_back(lo--);
}
}
sort(comp.begin(),comp.end());
for(signed &i:ans){
i=lower_bound(comp.begin(),comp.end(),i)-comp.begin();
}
return ans;
}