#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
vector<int> adj[N];
vector<int> vis(N);
vector<int> leaf(N);
bool dfs(int v) {
vis[v] = 1;
int cnt = 0;
for(auto& u : adj[v]) {
if(!vis[u]) {
if(leaf[u] == 1 && u != 1) {
cnt++;
}
if(!dfs(u)) {
return false;
}
}
}
if(cnt > 0 && cnt < 3 || (cnt == 0 && leaf[v] > 1)) {
return false;
}
return true;
}
int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n; cin >> n;
for(int i = 2; i <= n; i++) {
int a; cin >> a;
adj[a].push_back(i);
adj[i].push_back(a);
leaf[i]++;
leaf[a]++;
}
cout << (dfs(1) == true ? "Yes" : "No") << endl;
return 0;
}
1660A - Vasya and Coins | 1660E - Matrix and Shifts |
1293B - JOE is on TV | 1584A - Mathematical Addition |
1660B - Vlad and Candies | 1472C - Long Jumps |
1293D - Aroma's Search | 918A - Eleven |
1237A - Balanced Rating Changes | 1616A - Integer Diversity |
1627B - Not Sitting | 1663C - Pōja Verdon |
1497A - Meximization | 1633B - Minority |
688B - Lovely Palindromes | 66B - Petya and Countryside |
1557B - Moamen and k-subarrays | 540A - Combination Lock |
1553C - Penalty | 1474E - What Is It |
1335B - Construct the String | 1004B - Sonya and Exhibition |
1397A - Juggling Letters | 985C - Liebig's Barrels |
115A - Party | 746B - Decoding |
1424G - Years | 1663A - Who Tested |
1073B - Vasya and Books | 195B - After Training |