#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long nxt() {
  long long x;
  cin >> x;
  return x;
}
vector<long long> adj[10002];
bool vis[10002];
long long arr[10001], cnt = 1;
void dfs(long long u, long long par) {
  vis[u] = 1;
  for (auto v : adj[u]) {
    if (!vis[v]) {
      if (arr[v] != arr[u] && v != -1 && u != -1) cnt++;
      dfs(v, u);
    }
  }
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  long long n = nxt();
  for (long long i = 0; i < n - 1; i++) {
    long long x = nxt() - 1;
    adj[x].push_back(i + 1);
    adj[i + 1].push_back(x);
  }
  generate(arr, arr + n, nxt);
  dfs(0, -1);
  cout << cnt;
  return 0;
}
