#include #include #include #include using namespace std; template class PMA { public: explicit PMA(const vector& pattern){ build_(pattern); } vector> match(const string& s) const { vector> res(s.size()); int pos = 0; for(int i=0;i& pattern){ node.emplace_back(); for(int i=0;i qu; for(int i=0;i next; vector accept; int fail; Node() : next(char_size, -1), fail(0) {} }; vector node; }; int main(){ string S; cin >> S; int M; cin >> M; vector C(M); for(auto& c : C) cin >> c; PMA<26, 'A'> pma(C); auto m = pma.match(S); int res = 0; for(auto& v : m) res += v.size(); cout << res << endl; }