// 木チェック // 制約チェック : 全部WA or ACでok #include using namespace std; const int N = 1e5; vector g[N]; int n; bool isTree() { bool flag[N] = {}; function check = [&](int v, int p) { flag[v] = 1; for(int u : g[v]) if(u != p) check(u, v); }; check(0, -1); bool all = 1; for(int i = 0; i < n; i++) all &= flag[i]; return all; } int main() { cin >> n; assert(1 <= n && n <= N); for(int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; assert(1 <= a && a <= n && 1 <= b && b <= n); a--; b--; g[a].emplace_back(b); g[b].emplace_back(a); } // 余分な入力を検知できないけど, ないので(雑) assert(isTree()); cout << 0 << endl; }