AT_kupc2016_c クッキー☆増殖装置
Description
[problemUrl]: https://atcoder.jp/contests/kupc2016/tasks/kupc2016_c
クッキー好きの学生たちのために、ある教授がクッキー増殖装置を発明した。
この装置に美味しさ $ x $ のクッキー1枚を投入し、$ 0 $ 以上 $ 127 $ 以下の整数 $ y $ を入力すると、 投入したクッキーを消費して、美味しさ $ y $ と美味しさ ($ x $ XOR $ y $) の2枚のクッキーが生成される。
ここで、XORはビットごとの[排他的論理和](https://ja.wikipedia.org/wiki/%E6%8E%92%E4%BB%96%E7%9A%84%E8%AB%96%E7%90%86%E5%92%8C)を表す。
最初、クッキーは1枚だけあり、美味しさは $ D $ である。
以下の操作を $ N-1 $ 回繰り返して生成された、ちょうど $ N $ 枚のクッキーの美味しさの合計の最大値を出力せよ。
1. 今あるクッキーのうちいずれか1枚を選んで装置に投入する。
2. $ 0 $ 以上 $ 127 $ 以下の整数から自由に1つ選んで装置に入力する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ N_1 $ $ D_1 $ : $ N_T $ $ D_T $
入力は複数のテストケースからなる。$ 1 $ 行目には、テストケースの個数を表す整数 $ T $ が与えられる。
続く $ T $ 行にテストケースが1つずつ与えられる。
$ t $ ($ 1\ \leq\ t\ \leq\ T $) 番目のテストケースでは、 半角スペース区切りで最終的なクッキーの枚数を表す整数 $ N_t $ と最初のクッキーの美味しさ $ D_t $ が与えられる。
Output Format
最終生成物となる $ N $ 枚クッキーの美味しさの合計の最大値を標準出力に1行で出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ T\ \leq\ 1000 $
- $ 1\ \leq\ N_t\ \leq\ 1000 $ $ (1\ \leq\ t\ \leq\ T) $
- $ 1\ \leq\ D_t\ \leq\ 127 $ $ (1\ \leq\ t\ \leq\ T) $
### Sample Explanation 1
$ 1 $ つ目のテストケースでは、以下の手順で装置を使用すると、最終的に、美味しさ $ 61 $, $ 95 $, $ 99 $ の $ 3 $ 枚のクッキーが生成され、美味しさの合計が最大であるため、$ 255 $ と出力する。 1. 美味しさ $ 1 $ のクッキーを投入して消費し、装置に $ 60 $ を入力すると、美味しさ $ 60 $ のクッキーと美味しさ $ 61 $ のクッキーが生成される。 2. 美味しさ $ 60 $ のクッキーを投入して消費し、装置に $ 99 $ を入力すると、美味しさ $ 99 $ のクッキーと美味しさ $ 95 $ のクッキーが生成される。 また、 $ 3 $ つ目のテストケースのように、装置を使用しないこともある。