#include <bits/stdc++.h>
using namespace std;
int n, m, k;
string s;
long long ans;
bool flag;
struct A {
  int id, p, s;
};
bool comp(A a, A b) {
  if (a.p > b.p) return true;
  return false;
}
void solve() {
  cin >> n >> m >> k;
  vector<int> p(n);
  for (auto i = 0; i < n; i++) cin >> p[i];
  ;
  vector<int> s(n);
  for (auto i = 0; i < n; i++) cin >> s[i];
  ;
  vector<A> v(n);
  for (auto i = 0; i < n; i++) {
    v[i].id = i + 1;
    v[i].s = s[i];
    v[i].p = p[i];
  }
  sort(v.begin(), v.end(), comp);
  unordered_set<int> school;
  unordered_set<int> kid;
  for (auto i = 0; i < n; i++) {
    if (school.find(v[i].s) == school.end()) {
      school.insert(v[i].s);
      kid.insert(v[i].id);
    }
    int mm = school.size();
    if (mm == m) break;
  }
  vector<int> K(k);
  for (auto i = 0; i < k; i++) cin >> K[i];
  ;
  int count = 0;
  for (auto i = 0; i < k; i++) {
    if (kid.find(K[i]) == kid.end()) {
      count++;
    }
  }
  cout << count;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
