#include <bits/stdc++.h>
using namespace std;
int vst[1100000], pos[1100000], B[1100000];
set<int> st;
set<int>::iterator it;
void update(int u, int x) {
  for (; u < 1100000 - 10; u += u & -u) B[u] += x;
}
int calc(int u, int res = 0) {
  for (; u; u -= u & -u) res += B[u];
  return res;
}
int main() {
  int n, k, i, R, L, u;
  scanf("%d%d", &n, &k);
  for (i = 1; i <= n; i++) scanf("%d", &u), pos[u] = i;
  for (i = 0; i < k; i++) scanf("%d", &u), vst[u] = 1;
  for (i = 1; i <= n; i++) update(i, 1);
  long long res = 0;
  for (i = 1; i <= n; i++) {
    if (vst[i])
      st.insert(pos[i]);
    else {
      it = st.lower_bound(pos[i]);
      if (it == st.end())
        R = n;
      else
        R = *it - 1;
      if (it == st.begin())
        L = 1;
      else
        L = *--it + 1;
      res += calc(R) - calc(L - 1);
      update(pos[i], -1);
    }
  }
  printf("%I64d\n", res);
  return 0;
}
