#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 1, mod = 60;
const double PI = 3.141592653589793238462643383279502884197, eps = 1e-6;
vector<int> tr[N];
int col[N], cnt;
void dfs(int ind, int p, int c) {
  if (c != col[ind]) cnt++, c = col[ind];
  for (unsigned int i = 0; i < tr[ind].size(); i++)
    if (tr[ind][i] != p) dfs(tr[ind][i], ind, c);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int n, x;
  cin >> n;
  for (int i = 1; i < n; i++) {
    cin >> x;
    x--;
    tr[x].push_back(i);
    tr[i].push_back(x);
  }
  for (int i = 0; i < n; i++) cin >> col[i];
  dfs(0, -1, 0);
  cout << cnt;
  return 0;
}
