题库练习 Yet Another Broken Keyboard
← 上一题 下一题 →

A13125 | Yet Another Broken Keyboard

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Recently, Norge found a string $s = s_1 s_2 \ldots s_n$ consisting of $n$ lowercase Latin letters. As an exercise to improve his typing speed, he decided to type all substrings of the string $s$ . Yes, all $\frac{n (n + 1)}{2}$ of them!

A substring of $s$ is a non-empty string $x = s[a \ldots b] = s_{a} s_{a + 1} \ldots s_{b}$ ( $1 \leq a \leq b \leq n$ ). For example, "auto" and "ton" are substrings of "automaton".

Shortly after the start of the exercise, Norge realized that his keyboard was broken, namely, he could use only $k$ Latin letters $c_1, c_2, \ldots, c_k$ out of $26$ .

After that, Norge became interested in how many substrings of the string $s$ he could still type using his broken keyboard. Help him to find this number.

输入格式

The first line contains two space-separated integers $n$ and $k$ ( $1 \leq n \leq 2 \cdot 10^5$ , $1 \leq k \leq 26$ ) — the length of the string $s$ and the number of Latin letters still available on the keyboard.

The second line contains the string $s$ consisting of exactly $n$ lowercase Latin letters.

The third line contains $k$ space-separated distinct lowercase Latin letters $c_1, c_2, \ldots, c_k$ — the letters still available on the keyboard.

输出格式

Print a single number — the number of substrings of $s$ that can be typed using only available letters $c_1, c_2, \ldots, c_k$ .

输入输出样例

输入 #1
7 2
abacaba
a b
输出 #1
12
输入 #2
10 3
sadfaasdda
f a d
输出 #2
21
输入 #3
7 1
aaaaaaa
b
输出 #3
0
C++ 编辑器
输入
输出