AT_abc466_c [ABC466C] Count Close Pairs
Description
この問題は **インタラクティブな問題**(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。
数直線上に、点 $ 1 $ , $ 2 $ , $ \ldots $ , $ N $ が **この順に** 左から右に並んでいます。
最初、あなたには整数 $ N $ のみが与えられます。
その後、あなたはジャッジに以下の質問を $ \bm{2N} $ 回まで行うことができます。
- $ 1 \leq i < j \leq N $ を満たす整数 $ i,j $ を選び、点 $ i $ と点 $ j $ の距離が $ 1 $ 以下であるか質問する。
距離が $ 1 $ 以下の $ 2 $ 点組の個数、すなわち $ 1\leq i $ N $
次に、あなたはジャッジに対して問題文中の質問を $ 2N $ 回まで繰り返すことができます。
質問は、以下の形式で標準出力に出力してください。 ここで、 $ i,j $ は $ 1 \leq i ? $ i $ $ j $
これに対する応答として、以下のどちらかが標準入力から与えられます。
```
Yes
```
```
No
```
ここで、`Yes` ならば点 $ i $ と点 $ j $ の距離が $ 1 $ 以下であることを、`No` ならば点 $ i $ と点 $ j $ の距離が $ 1 $ より大きいことを表します。
問題の答え $ X $ が求まったら、解答を以下の形式で出力してください。 その後、ただちにプログラムを終了してください。
> ! $ X $
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 注意点
- **出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE となる可能性があります。**
- **対話の途中で不正な出力を行った、あるいはプログラムが途中で終了した場合のジャッジ結果は不定です。**
- 解答を出力したらただちにプログラムを終了してください。そうしない場合、ジャッジ結果は不定です。
- 点の配置および答えはあなたとジャッジの対話の開始時に固定され、あなたが行った質問などに応じて変更されることはありません。
### 入出力例
以下は、 $ N = 3 $ 、点 $ 1,2,3 $ の座標がそれぞれ $ 0,0.7,1.5 $ の場合の入出力例です。(点 $ 1,2,3 $ の座標は入力として与えられません。)
入力出力説明`3` $ N $ が与えられます。`? 1 2`点 $ 1,2 $ の間の距離が $ 1 $ 以下かをジャッジに質問します。`Yes`ジャッジから、点 $ 1,2 $ の間の距離が $ 1 $ 以下であるという返答を得ます。`? 1 3`点 $ 1,3 $ の間の距離が $ 1 $ 以下かをジャッジに質問します。`No`ジャッジから、点 $ 1,3 $ の間の距離が $ 1 $ 以下でないという返答を得ます。`? 2 3`点 $ 2,3 $ の間の距離が $ 1 $ 以下かをジャッジに質問します。`Yes`ジャッジから、点 $ 2,3 $ の間の距離が $ 1 $ 以下であるという返答を得ます。`! 2`条件をみたす組の数として $ 2 $ を解答します。質問回数は $ 3 $ 回であり、特に $ 2N=6 $ 回以下です。
解答した組の数も正しいため、この後ただちにプログラムを終了することで、正解と判定されます。
### Constraints
- $ 2 \leq N \leq 10^3 $
- $ N $ は整数