#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int T[1000005];
int n, k, p[1000005], b[1000005];
void add(int i, int v) {
  for (; i <= n; i += i & -i) {
    T[i] += v;
  }
}
int sum(int i) {
  int res = 0;
  for (; i > 0; i -= i & -i) {
    res += T[i];
  }
  return res;
}
int sum(int l, int r) { return sum(r) - sum(l - 1); }
bool in[1000005];
int pos[1000005];
void solve() {
  memset(in, 0, sizeof(in));
  for (int i = 0; i < k; i++) {
    in[b[i]] = true;
  }
  for (int i = 1; i <= n; i++) {
    pos[p[i - 1]] = i;
  }
  memset(T, 0, sizeof(T));
  for (int i = 1; i <= n; i++) {
    add(i, +1);
  }
  long long ans = 0;
  set<int> S;
  S.insert(0);
  S.insert(n + 1);
  for (int i = 1; i <= n; i++) {
    if (in[i]) {
      S.insert(pos[i]);
    } else {
      set<int>::iterator rt = S.upper_bound(pos[i]);
      set<int>::iterator lt = rt;
      lt--;
      int l = (*lt) + 1;
      int r = (*rt) - 1;
      ans += sum(l, r);
      add(pos[i], -1);
    }
  }
  cout << ans << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  while (cin >> n >> k) {
    for (int i = 0; i < n; i++) {
      cin >> p[i];
    }
    for (int i = 0; i < k; i++) {
      cin >> b[i];
    }
    solve();
  }
}
