AT_digitalarts_1 C-Filter

Description

[problemUrl]: https://atcoder.jp/contests/digitalarts2012/tasks/digitalarts_1 セキュリティに興味がある高橋君は、デジタルアーツ株式会社に就職したい青年です。 彼は、面接で自分をアピールするために、得意なプログラミングでフィルタリングソフト「C-Filter」を作ろうと考えています。 「C-Filter」は、与えられた文字列 $ s $ に、あらかじめ登録しておいた「NGワード」と一致する文字列が存在する場合、その文字列の長さと等しい数の `*`に置き換えて出力するソフトウェアです。この文字列を置き換える処理をフィルタリングと呼びます。 「NGワード」とは、半角英小文字と`*`から構成されます。`*`はすべての半角英小文字 $ 1 $ 文字と一致します。 例えば `myonmyon` は、NGワード`myo*myon`と一致します。 ただし、NGワードは単語ごとに適用されるため、`myo myon` はNGワード `myo*myon`とは一致しません。 また、NGワードはある単語に対して完全に一致する必要があります。 例えば、`abcde`は、NGワード`abc`や`bcd`、`cde`に一致しません。 文字列 $ s $ と、NGワードが与えられるので、C-Filterの出力する文字列を答えてください。 入力は以下の形式で標準入力から与えられる。 > $ s $ $ N $ $ t_{1} $ : : $ t_{N} $ 1. 入力は $ N+2 $ 行からなる。 2. $ 1 $ 行目には $ 1 $ 文字以上 $ 1,000 $ 文字以下の文字列 $ s $ が与えられる。 - $ s $ はフィルタリングする対象の文字列を半角スペースで区切って繋げた文字列である。 5. $ 2 $ 行目にはNGワードの個数を表す整数 $ N(0≦N≦50) $ が与えられる。 6. $ 3 $ 行目から $ N+2 $ 行目までNGワードを表す文字列 $ t_{i}(1≦i≦N) $が与えられる。 - 文字列 $ t_{i} $ は半角英小文字と `*` から構成される。 - 文字列 $ t_{i} $ の長さは $ 1 $ 文字以上、 $ 20 $ 文字以下である。 - 文字列 $ t_{i} $ に含まれる `*` は、半角スペースを除くすべての半角英小文字 $ 1 $ 文字をフィルタリングの対象とします。 入力された文字列 $ s $ をC-Filterでフィルタリングした結果を $ 1 $ 行で出力せよ。 なお、最後には改行を出力せよ。 ``` abc aaa ababa abcba abc 2 abc **a** ``` ``` *** aaa ***** abcba *** ``` - NGワードには`abc`と`**a**`の $ 2 $ つの文字列が登録されています。 - $ 1 $ 番目と $ 5 $ 番目に入力される`abc`はNGワード`abc`に一致するので、`***`と出力されます。 - $ 3 $ 番目に入力される`ababa`はNGワード`**a**`に一致するので、`*****`と出力されます。 ``` aaaa aaa aaaaaa aaaa 3 a aa aaa ``` ``` aaaa *** aaaaaa aaaa ``` - 完全一致のパターンだけを考慮すれば良いため、`aaaa` や `aaaaa` は変える必要がありません。 ``` i have a pen 1 * ``` ``` * have * pen ``` - 1文字の単語だけNGワードとして認識されます。 ``` digital arts 1 digital*arts ``` ``` digital arts ``` - 半角スペースは`*`にマッチしません。

Input Format

N/A

Output Format

N/A