AT_ttpc2019_l 多項式の零点の個数

Description

[problemUrl]: https://atcoder.jp/contests/ttpc2019/tasks/ttpc2019_l $ x $ の多項式 $ f(x) $ が文字列 $ S $ として与えられます。 ここで $ S $ は次の BNF 表記の `` シンボルで表されます。 > <expr> ::= <term> | <expr> "+" <term> | <expr> "-" <term> <term> ::= <factor> | <term> "\*" <factor> <factor> ::= <value> | <value> "^" <number> <value> ::= <number> | "x" | "(" <expr> ")" <number> ::= $ 1 $ 以上 $ 10^9 $ 未満の整数 ただし先頭の $ 0 $ は省略される 記号はそれぞれ以下の意味を表します。 - `x`: $ x $ - `+`: 足し算 - `-`: 引き算 - `*`: 掛け算、ただし足し算 `+` や引き算 `-` よりも先に計算される - `^`: 累乗、ただし足し算 `+` や引き算 `-` や掛け算 `*` よりも先に計算される 例えば、以下の文字列は上の `` シンボルになり得ます。 - `x^2+3*x^1+5` - $ f(x)\ =\ x^2\ +\ 3\times\ x^1\ +\ 5 $ - `1+2-3+4*5` - $ f(x)\ =\ 1\ +\ 2\ -\ 3\ +\ 4\ \times\ 5 $ - `((x^123+1)^456)^789` - $ f(x)\ =\ \left(\ \left(x^{123}\ +\ 1\right)^{456}\right)^{789} $ - `((x))` - $ f(x)\ =\ \left(\left(x\right)\right) $ - `1^1*1` - $ f(x)\ =\ 1^1\ \times\ 1 $ また、以下の文字列は上の `` シンボルになり得ません。 - `2x` - `0^0` - `2^x` - `-1` - `2^(1+2)` - `1000000000` - `007` $ f(x) $ の $ \bmod{10^K} $ での零点の数、すなわち $ f(n)\ \equiv\ 0\ \pmod{10^K} $ を満たす $ 0 $ 以上 $ 10^K $ 未満の整数 $ n $ の個数を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ K $ $ S $

Output Format

$ f(n)\ \equiv\ 0\ \pmod{10^K} $ を満たす $ 0 $ 以上 $ 10^K $ 未満の整数 $ n $ の個数を出力せよ。

Explanation/Hint

### 制約 - 入力は全て整数 - $ 1\ \leq\ K\ \leq\ 9 $ - $ 1\ \leq\ |S|\ \leq\ 100 $ ### Sample Explanation 1 \- 入力される多項式は $ f(x)\ =\ x^2\ -\ x $ を表しています。 - 以下の通り、$ n=0,\ 1,\ 25,\ 76 $ が条件を満たします。 - $ f(0)\ =\ 0 $ - $ f(1)\ =\ 0 $ - $ f(25)\ =\ 600\ \equiv\ 0\ \pmod{100} $ - $ f(76)\ =\ 5700\ \equiv\ 0\ \pmod{100} $ ### Sample Explanation 2 \- 入力される多項式は $ f(x)\ =\ \left(\left(\left(x\right)\right)^{234567890}\ \times\ 1^1\ \times\ 1+\left(x^2\right)^2\right) $ を表しています。 ### Sample Explanation 3 \- 入力される多項式は $ f(x)\ =\ 50+\left(2019-x+\left(x^3-x\right)^{2019}\right)\ \times\ x^1 $ を表しています。