AT_past202004_d パターンマッチ
Description
[problemUrl]: https://atcoder.jp/contests/past202004-open/tasks/past202004_d
英小文字から成る文字列 $ S $ が与えられます。
英小文字または `.` から成る長さ $ 1 $ 以上 $ 3 $ 以下の文字列 $ T $ が $ S $ にマッチするとは、次の条件を満たすことを表します。
- $ T $ の長さを $ K $ とする。 $ S $ の連続する $ K $ 文字であって、$ T $ の `.` を自由にそれぞれ英小文字 $ 1 $ 文字に置き換えることで一致するような部分が存在する。
英小文字または `.` から成る長さ $ 1 $ 以上 $ 3 $ 以下の文字列全てのうち、$ S $ にマッチするものの個数を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $
Output Format
英小文字または `.` から成る長さ $ 1 $ 以上 $ 3 $ 以下の文字列全てのうち、$ S $ にマッチするものの個数を出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2020年5月2日 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。
試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \leq\ |S|\ \leq\ 100 $
- $ S $ は英小文字から成る
### Sample Explanation 1
$ S $ にマッチするような文字列としては、以下に挙げるように `a`, `b`, `.`, `..`, `.b`, `a.`, `ab` の $ 7 $ 通りが考えられます。 - `a` は $ S $ の $ 1 $ 文字目と一致する。 - `b` は $ S $ の $ 2 $ 文字目と一致する。 - `.` は、例えば `.` を `a` に置き換えることで$ S $ の $ 1 $ 文字目と一致する。 - `..` は、`ab` に置き換えることで $ S $ の $ 1,\ 2 $ 文字目と一致する。 - `.b` は、`ab` に置き換えることで $ S $ の $ 1,\ 2 $ 文字目と一致する。 - `a.` は、`ab` に置き換えることで $ S $ の $ 1,\ 2 $ 文字目と一致する。 - `ab` は、$ S $ の $ 1,\ 2 $ 文字目と一致する。
### Sample Explanation 2
$ S $ にマッチするような文字列としては、`a`, `.`, `..`, `.a`, `a.`, `aa` の $ 6 $ 通りが考えられます。