#include <bits/stdc++.h>
using namespace std;
int s;
vector<vector<int> > g(100005);
int vis[100005];
int c[100005];
void dfs(int u, int col) {
  vis[u] = true;
  if (c[u] != col) s++, c[u];
  for (auto v : g[u]) {
    if (vis[v]) continue;
    dfs(v, c[u]);
  }
}
int main() {
  ios::sync_with_stdio(0);
  s = 0;
  int p;
  int n;
  cin >> (n);
  ;
  for (int(i) = 1; (i) <= (n - 1); (i)++) {
    cin >> p;
    g[i + 1].push_back(p);
    g[p].push_back(i + 1);
  }
  for (int(i) = 1; (i) <= (n); (i)++) cin >> c[i];
  memset((vis), (false), sizeof((vis)));
  dfs(1, 0);
  cout << s << endl;
  return 0;
}
