#include <bits/stdc++.h>
using namespace std;
long long int power(long long int a, long long int b) {
  if (b == 0) return 1;
  long long int p = power(a, b / 2);
  p = (p * p) % 1000000007;
  if (b % 2 == 0)
    return p;
  else
    return (a * p) % 1000000007;
}
long int gcd(long int a, long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int c[10005], ans = 0, vis[10005] = {0};
map<long long int, vector<long long int> > m;
void dfs(long long int a, long long int pc) {
  vis[a] = 1;
  if (c[a] != pc) {
    ans++;
    pc = c[a];
  }
  long long int i;
  for (i = 0; i < m[a].size(); i++) {
    if (!vis[m[a][i]]) {
      dfs(m[a][i], pc);
    }
  }
}
int main() {
  std::ios_base::sync_with_stdio(false);
  long long int n, i, p;
  cin >> n;
  for (i = 0; i < n - 1; i++) {
    cin >> p;
    m[p].push_back(i + 2);
    m[i + 2].push_back(p);
  }
  for (i = 1; i <= n; i++) {
    cin >> c[i];
  }
  dfs(1, -1);
  cout << ans << "\n";
  return 0;
}
