#include <bits/stdc++.h>
using namespace std;
long long n, k, ans;
long long p[1000011], b[1000011], in_b[1000011], inv[1000011];
long long st[1000011 << 1];
set<long long> bnd;
void modify(long long l, long long r, long long v = -1) {
  for (l += n, r += n; l < r; l >>= 1, r >>= 1) {
    if (l & 1) st[l++] += v;
    if (r & 1) st[--r] += v;
  }
}
long long query(long long p) {
  if (p == -1) return -1;
  long long res = 0;
  for (p += n; p > 0; p >>= 1) res += st[p];
  return res;
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> k;
  n++;
  bnd.insert(-1);
  bnd.insert(n - 1);
  for (long long i = 0; i < n - 1; i++) {
    cin >> p[i];
    p[i]--;
    inv[p[i]] = i;
    modify(i, i + 1, i);
  }
  for (long long i = 0; i < k; i++) {
    cin >> b[i];
    b[i]--;
    in_b[b[i]] = true;
  }
  modify(n - 1, n, n - 1);
  for (long long i = 0; i < n - 1; i++) {
    long long x = inv[i];
    if (in_b[i])
      bnd.insert(x);
    else {
      auto lb = bnd.lower_bound(x);
      lb--;
      auto ub = bnd.upper_bound(x);
      long long l = query(*lb), r = query(*ub);
      ans += r - l - 1;
      modify(x, n);
    }
  }
  cout << ans << endl;
  return 0;
}
