#include <bits/stdc++.h>
using namespace std;
struct emp {
  int s, e;
};
struct emp my[10010 * 2];
int n, m, nn;
int color[10010];
struct emp net[10010];
int dap;
int chk[10010];
bool sort_cmp(emp x, emp y) {
  if (x.s == y.s) return x.e < y.e;
  return x.s < y.s;
}
void shin(int c, int curr_color) {
  int i, x, y, z;
  chk[c] = 1;
  x = net[c].s;
  y = net[c].e;
  for (i = x; i <= y; i++) {
    z = my[i].e;
    if (chk[z] == 1) continue;
    if (color[z] != curr_color) {
      dap++;
      shin(z, color[z]);
    } else
      shin(z, curr_color);
  }
}
int main(void) {
  int i, j, x, y;
  scanf("%d", &n);
  for (i = 2; i <= n; i++) {
    scanf("%d", &x);
    my[nn].s = i;
    my[nn++].e = x;
    my[nn].s = x;
    my[nn++].e = i;
  }
  for (i = 1; i <= n; i++) scanf("%d", &color[i]);
  sort(my, my + nn, sort_cmp);
  for (i = nn - 1; i >= 0; i--) net[my[i].s].s = i;
  for (i = 1; i < n; i++) net[i].e = net[i + 1].s - 1;
  net[n].e = nn - 1;
  dap = 1;
  shin(1, color[1]);
  printf("%d", dap);
  return 0;
}
