AT_tenka1_2016_final_c たんごたくさん

Description

[problemUrl]: https://atcoder.jp/contests/tenka1-2016-final/tasks/tenka1_2016_final_c 文字列 $ S $ と、要素数 $ M $ の単語の集合 $ P=\{P_1,\ P_2,\ …,\ P_M\} $ が与えられます。単語 $ P_i $ は、整数の重み $ W_i $ を持っています。 文字列 $ S $ から、$ P $ に含まれる単語を重なり合わないように取り出すことを考えます。単語の重みの総和が最大値をとるように取り出すとき、その最大値はいくつでしょうか? なお、同じ単語を複数回取り出した場合、それらの単語は別々に数えることとします。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ S $ $ M $ $ P_1 $ : $ P_M $ $ W_1 $ : $ W_M $

Output Format

単語の重みの総和の最大値を $ 1 $ 行に出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ |S|\ \leq\ 200000 $ - $ 1\ \leq\ M\ \leq\ 5000 $ - $ 1\ \leq\ |P_i|\ \leq\ 200 $ - $ 1\ \leq\ W_i\ \leq\ 10000 $ - $ S $, $ P_i $ は英小文字からなる文字列である