#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n;
  cin >> n;
  vector<int> tree[n + 1];
  for (int i = 2; i <= n; i++) {
    int p;
    cin >> p;
    tree[p].push_back(i);
  }
  bool is_spruce = true;
  for (int i = 1; i <= n; i++) {
    if (tree[i].empty())
      continue;
    else {
      int count = 0;
      for (auto c : tree[i]) {
        if (count == 3) break;
        if (tree[c].size() == 0) count++;
      }
      if (count != 3) {
        is_spruce = false;
        break;
      }
    }
  }
  if (is_spruce)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
