AT_past202012_j 長い長い文字列
Description
[problemUrl]: https://atcoder.jp/contests/past202012-open/tasks/past202012_j
以下のようなプログラミング言語があります。
プログラムは命令を表す文字の列であり、前から順に実行されます。各文字が表す命令の意味は下の通りです。
- 英小文字 $ c $ : $ c $ を出力する
- 数字 $ x $ : プログラムの先頭から、現在実行中の命令の一つ前の命令までの命令列を、もう $ x $ 回実行する
例えば、プログラム `ab2c1` は文字列 `abababcabababc` を出力します。
プログラム $ S $ が与えられます。$ S $ が出力する文字列の $ X $ 番目の文字を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $ $ X $
Output Format
$ S $ が出力する文字列の $ X $ 番目の文字を出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2020/12/27 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \le\ |S|\ \le\ 2\ \times\ 10^5 $
- $ S $ は英小文字及び $ 1 $ 以上 $ 9 $ 以下の数字からなる
- $ 1\ \le\ X\ \le\ 10^{15} $
- $ S $ は $ X $ 文字以上出力する
### Sample Explanation 1
プログラム `ab2c1` は以下のように動作し、文字列 `abababcabababc` を出力します。 - 最初の $ 2 $ 文字が実行されて、`ab` が出力される - $ 3 $ 文字目に `2` があるので、$ S $ の最初の $ 2 $ 文字がもう $ 2 $ 回実行され、`abab` が出力される - $ 4 $ 文字目が実行され、`c` が出力される - $ 5 $ 文字目に `1` があるので、上の $ 3 $ 行がもう一度繰り返され、`abababc` が出力される 出力される文字列は最終的に `abababcabababc` であり、この $ 6 $ 文字目は `b` です。
### Sample Explanation 2
$ S $ に数字が含まれていないので、そのまま `atcoder` が出力されます。
### Sample Explanation 3
$ S $ が出力する文字数は非常に大きくなることがあることに注意してください。