#include <bits/stdc++.h>
using namespace std;
const long long int mod = 1e9 + 7;
template <typename X>
inline X abs(const X& a) {
  return a < 0 ? -a : a;
}
template <typename X>
inline X sqr(const X& a) {
  return a * a;
}
bool rev(pair<long long int, long long int>& a,
         pair<long long int, long long int>& b) {
  return a.first < b.first || (a.first == b.first && a.second > b.second);
}
const long long int N = 2e5 + 5;
long long int n;
long long int c[10001];
vector<long long int> g[10001];
long long int ans = 1;
bool vis[10001];
void dfs(long long int i) {
  vis[i] = true;
  for (auto it : g[i]) {
    if (!vis[it]) {
      if (c[it] != c[i]) {
        ans++;
      }
      dfs(it);
    }
  }
}
void test() {
  cin >> n;
  for (long long int i = 2; i <= n; i++) {
    long long int v;
    cin >> v;
    g[i].push_back(v);
    g[v].push_back(i);
  }
  for (int i = 1; i <= n; i++) cin >> c[i];
  dfs(1);
  cout << ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int t = 1;
  while (t--) {
    test();
  }
  return 0;
}
