#include <bits/stdc++.h>
using namespace std;
const int MX = (1 << 20);
int n, k;
int bit[MX];
void add(int x) {
  while (x <= n) {
    bit[x]++;
    x += x & (-x);
  }
}
int get(int x) {
  int res = 0;
  while (x > 0) {
    res += bit[x];
    x -= x & (-x);
  }
  return res;
}
bool need[MX];
pair<int, int> arr[MX];
set<int> S;
set<int>::iterator it;
int main() {
  cin >> n >> k;
  for (int j = 1; j <= n; j++) {
    cin >> arr[j].first;
    arr[j].second = j;
    need[j] = 1;
  }
  S.insert(0);
  S.insert(n + 1);
  sort(arr + 1, arr + 1 + n);
  int x;
  for (int j = 1; j <= k; j++) {
    cin >> x;
    need[x] = 0;
  }
  int l, r;
  long long ans = 0;
  for (int j = 1; j <= n; j++) {
    if (!need[arr[j].first]) {
      S.insert(arr[j].second);
      continue;
    }
    it = S.lower_bound(arr[j].second);
    r = *it--;
    r--;
    l = *it;
    l++;
    ans += r - l + 1 - (get(r) - get(l - 1));
    add(arr[j].second);
  }
  cout << ans << endl;
}
