#include #include #include #include using namespace std; int main() { // Get input int N; scanf("%d\n", &N); vector choices (N); for(int i=0; i tree (2*inner_size, 0); for (int v = inner_size; v < inner_size + N; v++) { tree[v] = 1; } for (int v = inner_size - 1; v > 0; v--) { tree[v] = tree[2*v] + tree[2*v +1]; } // Go over all selection steps vector selected (N); for (int i=0; i0; u/=2) { tree[u]--; } // Store the selection selected[i] = v - inner_size + 1; } // Print output printf("%d", selected[0]); for(int i=2; i