#include <bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void c_p_c() {}
const long long M = 1e9 + 7;
long long mod(long long x) { return ((x % M + M) % M); }
long long add(long long a, long long b) { return mod(mod(a) + mod(b)); }
long long mul(long long a, long long b) { return mod(mod(a) * mod(b)); }
bool f(long long x, long long y) { return x > y; }
void solve() {
  long long n, k;
  cin >> n >> k;
  string s;
  long long i;
  cin >> s;
  set<char> se;
  for (i = 0; i < k; i++) {
    char ch;
    cin >> ch;
    se.insert(ch);
  }
  long long c = 0;
  long long r = -1;
  s.push_back('#');
  for (i = 0; i <= n; i++) {
    if (se.count(s[i]) == 0) {
      long long co = i - r - 1;
      c += ((co) * (co + 1)) / 2;
      r = i;
    }
  }
  cout << c;
}
int32_t main() {
  c_p_c();
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  solve();
}
