VK Cup 2012 Round 2
E
e-Government
Codeforces
2800
原题
← D→
翻译中…

The best programmers of Embezzland compete to develop a part of the project called "e-Government" — the system of automated statistic collecting and press analysis.

翻译中…

We know that any of the $*k*$ citizens can become a member of the Embezzland government. The citizens' surnames are $*a*_{1}, *a*_{2}, ..., *a*_{*k*}$. All surnames are different. Initially all $*k*$ citizens from this list are members of the government. The system should support the following options:

翻译中…
  • Include citizen $*a*_{*i*}$ to the government.
  • Exclude citizen $*a*_{*i*}$ from the government.
  • Given a newspaper article text, calculate how politicized it is. To do this, for every active government member the system counts the number of times his surname occurs in the text as a substring. All occurrences are taken into consideration, including the intersecting ones. The degree of politicization of a text is defined as the sum of these values for all active government members.
翻译中…

Implement this system.

翻译中…

Input

翻译中…

The first line contains space-separated integers $*n*$ and $*k*$ ($1 ≤ *n*, *k* ≤ 10^{5}$) — the number of queries to the system and the number of potential government members.

翻译中…

Next $*k*$ lines contain the surnames $*a*_{1}, *a*_{2}, ..., *a*_{*k*}$, one per line. All surnames are pairwise different.

翻译中…

Next $*n*$ lines contain queries to the system, one per line. Each query consists of a character that determines an operation and the operation argument, written consecutively without a space.

翻译中…

Operation "include in the government" corresponds to the character "+", operation "exclude" corresponds to "-". An argument of those operations is an integer between $1$ and $*k*$ — the index of the citizen involved in the operation. Any citizen can be included and excluded from the government an arbitrary number of times in any order. Including in the government a citizen who is already there or excluding the citizen who isn't there changes nothing.

翻译中…

The operation "calculate politicization" corresponds to character "?". Its argument is a text.

翻译中…

All strings — surnames and texts — are non-empty sequences of lowercase Latin letters. The total length of all surnames doesn't exceed $10^{6}$, the total length of all texts doesn't exceed $10^{6}$.

翻译中…

Output

翻译中…

For any "calculate politicization" operation print on a separate line the degree of the politicization of the given text. Print nothing for other operations.

翻译中…

样例

Input #1
7 3
a
aa
ab
?aaab
-2
?aaab
-3
?aaab
+2
?aabbaa
Output #1
6
4
3
6
InputCopy OutputCopy
题目信息
题号
163E
时间限制
1 s
内存限制
256 MB
标签
数据结构
DFS 及类似
动态规划
字符串
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。