AT_ttpc2023_a Numerous Elimination
Description
選手 $ 1, 2, \dots, N $ の $ N $ 人の選手が参加する大会が行われます。
会場には列 $ 0, 1, \dots, N-1 $ の $ N $ 個の列が用意されており、列 $ i\ (0 \le i \le N - 1) $ に並んでいる選手はその時点で $ i $ 連勝中であることを表します。
大会開始時点では、選手は列 $ 0 $ の先頭から順に選手 $ 1, 2, \dots, N $ の順で並んでいます。
大会では、次の手順に従って各選手の順位を決めます。
1. どの列にもちょうど $ 1 $ 人の選手が並んでいるとき、列 $ i $ に並んでいる選手の順位は $ N-i $ 位である。このとき手順を終了する。
2. $ 2 $ 人以上の選手が並んでいる列の中で最も番号の小さい列を列 $ l $ とする。
3. 列 $ l $ の先頭 $ 2 $ 人は列から抜け、その $ 2 $ 人で試合を行う。試合に勝った方は列 $ l+1 $ の後ろに並び、負けた方は列 $ 0 $ の後ろに並ぶ。
4. 手順 1. に戻る。
この大会で行われる試合の回数を $ 998244353 $ で割ったあまりを求めてください。
ただし、試合に引き分けはないものとします。また、各試合の結果に依らず答えは一意に定まることが証明できます。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
番号の小さい選手が試合に勝つものとすると、以下のように大会が進行します。
列 $ 0 $ 列 $ 1 $ 列 $ 2 $ 説明 $ \underline{1, 2}, 3 $ 選手 $ 1, 2 $ が試合を行い、選手 $ 1 $ が列 $ 1 $ に、選手 $ 2 $ が列 $ 0 $ に並ぶ $ \underline{3, 2} $ $ 1 $ 選手 $ 3, 2 $ が試合を行い、選手 $ 2 $ が列 $ 1 $ に、選手 $ 3 $ が列 $ 0 $ に並ぶ $ 3 $ $ \underline{1, 2} $ 選手 $ 1, 2 $ が試合を行い、選手 $ 1 $ が列 $ 2 $ に、選手 $ 2 $ が列 $ 0 $ に並ぶ $ \underline{3, 2} $ $ 1 $ 選手 $ 3, 2 $ が試合を行い、選手 $ 2 $ が列 $ 1 $ に、選手 $ 3 $ が列 $ 0 $ に並ぶ $ 3 $ $ 2 $ $ 1 $ どの列にもちょうど $ 1 $ 人の選手が並んでいるので、終了する 試合は $ 4 $ 回行われるので、 $ 4 $ を出力します。
### Constraints
- $ N $ は整数
- $ 1 \le N \le 10^5 $