#include <bits/stdc++.h>
using namespace std;
vector<int> vec[100100];
int n;
int ans;
vector<int> cur;
void cal() {
  vector<int> temp;
  for (int i = 0; i < cur.size(); i++) {
    int u = cur[i];
    for (int j = 0; j < vec[u].size(); j++) {
      temp.push_back(vec[u][j]);
    }
  }
  if (temp.size() == 0) return;
  if (temp.size() % 2 != 0) ans++;
  cur.clear();
  for (int i = 0; i < temp.size(); i++) {
    cur.push_back(temp[i]);
  }
  temp.clear();
  cal();
}
int main() {
  scanf("%d", &n);
  for (int i = 2; i <= n; i++) {
    int u;
    scanf("%d", &u);
    vec[u].push_back(i);
  }
  cur.push_back(1);
  ans = 1;
  cal();
  printf("%d\n", ans);
  return 0;
}
