#include <bits/stdc++.h>
using namespace std;
int n, m;
pair<long long, char> tmp;
vector<pair<long long, char> > t, s, vc;
char str[100];
long long res = 0;
long long z[400010];
void read() {
  scanf("%s", str);
  int len = strlen(str);
  tmp.second = str[len - 1];
  str[len - 2] = 0;
  sscanf(str, "%lld", &tmp.first);
}
void makez() {
  int L = 0, R = 0, N = vc.size();
  for (int i = 1; i < N; ++i) {
    if (i > R) {
      L = R = i;
      while (R < N && vc[R - L] == vc[R]) ++R;
      z[i] = R - L;
      R--;
    } else {
      int k = i - L;
      if (z[k] < R - i + 1)
        z[i] = z[k];
      else {
        L = i;
        while (R < N && vc[R - L] == vc[R]) ++R;
        z[i] = R - L;
        --R;
      }
    }
  }
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 0; i < n; ++i) {
    read();
    if (t.empty() || tmp.second != t.back().second)
      t.push_back(tmp);
    else
      t.back().first += tmp.first;
  }
  for (int i = 0; i < m; ++i) {
    read();
    if (s.empty() || tmp.second != s.back().second)
      s.push_back(tmp);
    else
      s.back().first += tmp.first;
  }
  if (s.size() == 1) {
    for (int i = 0; i < t.size(); ++i)
      if (t[i].second == s[0].second && t[i].first >= s[0].first)
        res += t[i].first - s[0].first + 1;
  } else if (s.size() == 2) {
    if (t.size() >= 2) {
      for (int i = 1; i < t.size(); ++i)
        if (t[i - 1].second == s[0].second && t[i].second == s[1].second &&
            t[i - 1].first >= s[0].first && t[i].first >= s[1].first)
          ++res;
    }
  } else if (t.size() >= s.size()) {
    for (int i = 1; i < s.size() - 1; ++i) vc.push_back(s[i]);
    for (int i = 0; i < t.size(); ++i) vc.push_back(t[i]);
    makez();
    for (int i = t.size() - s.size() + 1; i > 0; --i) {
      long long tmp = z[s.size() - 2 + i];
      if (tmp >= s.size() - 2 && s[0].second == t[i - 1].second &&
          s[0].first <= t[i - 1].first &&
          s.back().second == t[i + s.size() - 2].second &&
          s.back().first <= t[i + s.size() - 2].first)
        ++res;
    }
  }
  printf("%lld", res);
  return 0;
}
