#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 5;
struct Node {
  int p, s;
} a[maxn];
int n, m, k;
int c[maxn];
int ans[maxn];
int main() {
  scanf("%d%d%d", &n, &m, &k);
  a[0].p = a[0].s = 0;
  for (int i = 1; i <= n; i++) scanf("%d", &a[i].p);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i].s);
  for (int i = 1; i <= n; i++) {
    int id = a[i].s;
    if (a[i].p > a[ans[id]].p) ans[id] = i;
  }
  int res = 0;
  for (int i = 1; i <= k; i++) {
    scanf("%d", &c[i]);
    if (c[i] != ans[a[c[i]].s]) res++;
  }
  printf("%d\n", res);
  return 0;
}
