You are given a dictionary of $$$n$$$ strings $$$s_1, s_2, \dots, s_n$$$.
We define $$$f(t)$$$ as the number of ways of obtaining a string $$$t$$$ by the following three-step operation:
Each valid triple $$$(i, j, k)$$$ is counted separately.
You are given $$$q$$$ strings $$$t_1, t_2, \dots, t_q$$$. For each $$$t_i$$$ ($$$1 \leq i \leq q$$$), find the value of $$$f(t_i)$$$.
The first line contains two integers $$$n$$$ and $$$q$$$ ($$$1 \leq n, q \leq 2 \cdot 10^5$$$) — the number of strings in the dictionary and the number of queries.
The following $$$n$$$ lines contain the strings $$$s_1, s_2, \dots, s_n$$$ in the dictionary.
The following $$$q$$$ lines contain the query strings $$$t_1, t_2, \dots, t_q$$$.
It is guaranteed that all strings in the input consist of lowercase English letters.
It is guaranteed that the total length of the strings $$$s_1, s_2, \dots, s_n$$$ does not exceed $$$2 \cdot 10^5$$$.
It is guaranteed that the total length of the strings $$$t_1, t_2, \dots, t_q$$$ does not exceed $$$2 \cdot 10^5$$$.
For each query string $$$t_i$$$, print a single line containing the value of $$$f(t_i)$$$.
2 2ababababababaabbab
5 1
2 1abcabcabcabc
8