AT_pakencamp_2023_day1_m + and Xor
Description
正整数 $ N $ が与えられます。長さ $ N $ の **$ (1,2,\ldots,N) $** の順列 $ p $ について、以下の値を最大化する $ p $ を $ 1 $ つ求めてください。
- $ (p_1 + 1) \oplus (p_2 + 2) \oplus \ldots \oplus (p_N + N) $
ただし $ \oplus $ はビット単位 $ \mathrm{XOR} $ 演算を表します。
ビット単位 $ \mathrm{XOR} $ 演算とは非負整数 $ A,B $ のビット単位 $ \mathrm{XOR} $ 演算、 $ A\oplus B $ は、以下のように定義されます。
- $ A\oplus B $ を二進表記した際の $ 2^k\ (k\geq 0) $ の位の数は、 $ A,B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $ 、そうでなければ $ 0 $ である。
例えば、 $ 3\oplus 5 = 6 $ となります(二進表記すると: $ 011\oplus 101 = 110 $ )。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $
Output Format
問題文中の条件を満たす $ p $ を空白区切りで $ 1 $ 行に出力せよ。
$ p $ としてありうるものが複数ある場合、どれを出力してもよい。
Explanation/Hint
### Sample Explanation 1
$ (2+1) \oplus (1+2) \oplus (3+3) = 6 $ です。値を $ 6 $ より大きくすることができないので、これを出力します。
### Constraints
- $ 1 \leq N \leq 2\times 10^5 $
- 入力は全て整数