AT_abc298_d [ABC298D] Writing a Numeral

Description

[problemUrl]: https://atcoder.jp/contests/abc298/tasks/abc298_d 文字列 $ S $ があり、初め $ S= $ `1` です。 以下の形式のクエリが $ Q $ 個与えられるので順に処理してください。 - `1 x` : $ S $ の末尾に数字 $ x $ を追加する - `2` : $ S $ の先頭の数字を削除する - `3` : $ S $ を十進数表記の数とみなした値を $ 998244353 $ で割った余りを出力する

Input Format

入力は以下の形式で標準入力から与えられる。 > $ Q $ $ \mathrm{query}_1 $ $ \vdots $ $ \mathrm{query}_Q $ ただし $ \mathrm{query}_i $ は $ i $ 番目のクエリを表し、以下のいずれかの形式である。 > $ 1 $ $ x $ > $ 2 $ > $ 3 $

Output Format

$ 3 $ 番目の形式のクエリの個数を $ q $ として、$ q $ 行出力せよ。$ i $ $ (1\ \leq\ i\ \leq\ q) $ 行目には $ i $ 番目の $ 3 $ 番目の形式のクエリに対する出力をせよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ Q\ \leq\ 6\ \times\ 10^5 $ - $ 1 $ 番目の形式のクエリについて、$ x\ \in\ \{1,2,3,4,5,6,7,8,9\} $ - $ 2 $ 番目の形式のクエリは $ S $ が $ 2 $ 文字以上の時にのみ与えられる - $ 3 $ 番目の形式のクエリが $ 1 $ 個以上存在する ### Sample Explanation 1 $ 1 $ 番目のクエリにおいて、$ S $ は `1` なので ( $ 1 $ を $ 998244353 $ で割った余りに等しい) $ 1 $ を出力します。 $ 2 $ 番目のクエリにおいて、$ S $ は `12` になります。 $ 3 $ 番目のクエリにおいて、$ S $ は `12` なので ( $ 12 $ を $ 998244353 $ で割った余りに等しい) $ 12 $ を出力します。 ### Sample Explanation 3 出力されるべき値は $ 998244353 $ で割った余りであることに注意してください。