#include <bits/stdc++.h>
using namespace std;
int n;
int head[10010], to[10010], nxt[10010], cnt;
inline void addedge(int u, int v) {
  cnt++, to[cnt] = v, nxt[cnt] = head[u], head[u] = cnt;
}
int ans;
int c[10010];
inline void dfs(int u, int p, int x) {
  if (x != c[u]) ans++;
  for (int e = head[u]; e; e = nxt[e]) {
    int v = to[e];
    if (v == p) continue;
    dfs(v, u, c[u]);
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 2; i <= n; i++) {
    int p;
    scanf("%d", &p);
    addedge(p, i);
  }
  for (int i = 1; i <= n; i++) scanf("%d", &c[i]);
  dfs(1, 0, 0);
  printf("%d\n", ans);
  return 0;
}
