3693 {
3694 int n;
3695 cin >> n;
3696 auto *in = new int[n];
3697 auto *out = new int[n];
3698 memset(in, 0, n * sizeof(int));
3699 memset(out, 0, n * sizeof(int));
3700 int a;
3701 int b;
3702 for(int i = 0; i < n - 1; i++) {
3703 cin >> a >> b;
3704 out[a - 1]++;
3705 in[b - 1]++;
3706 }
3707 bool ok = true;
3709 for(int i = 0; i < n; i++) {
3710 if(in[i] > 0 && out[i] == 0) {
3711 if(ans != -1) {
3712 ok = false;
3713 break;
3714 }
3716 }
3717 if(in[i] == 0 && out[i] > 1) {
3718 ok = false;
3719 break;
3720 }
3721 }
3722 if(ok) {
3724 } else {
3725 cout << -1;
3726 }
3727 delete[] in;
3728 delete[] out;
3729 return 0;
3730 }
vector< vector< int > > ans