#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int MOD = pow ( 10 ,9 ) + 7 ;
const int MOD2 = 998244353 ;
const int INF = LLONG_MAX/ 2 ;
int primes[ 1000000 ] ;
void seive( ) {
fill( primes, primes + 1000000 , 1 ) ;
primes[ 0 ] = primes[ 1 ] = 0 ;
for ( int i = 2 ; i* i < 1000000 ; i++ ) {
if ( primes[ i] ) {
for ( int j = i* i ; j < 1000000 ; j + = i) {
primes[ j] = 0 ;
}
}
}
for ( int i = 1 ; i < 1000000 ; i++ ) {
primes[ i] + = primes[ i- 1 ] ;
}
}
int factorial( int n) {
if ( n== 0 ) {
return 1 ;
}
return ( n* ( factorial( n- 1 ) ) ) % MOD;
}
bool isPrime( int n) {
if ( n <= 1 ) return false ;
for ( int i = 2 ; i* i <= n ; i++ ) {
if ( n % i == 0 ) return false ;
}
return true ;
}
int power( int a, int b) {
if ( b == 0 ) return 1 ;
a % = MOD;
int value = power( a, b / 2 ) ;
if ( b % 2 == 0 ) {
return ( value * value) % MOD;
} else {
return ( ( value * value) % MOD * ( a % MOD) ) % MOD;
}
}
int gcd( int a, int b) {
if ( a == 0 ) return b;
return gcd( b % a, a) ;
}
void solve( ) {
int n1;
cin >> n1;
vector< int > A[ n1+ 1 ] ;
for ( int i = 0 ; i< n1- 1 ; i++ ) {
int a,b;
cin >> a>> b;
A[ a] .push_back ( b) ;
A[ b] .push_back ( a) ;
}
queue< int > q;
int visited[ n1+ 1 ] = { 0 } ;
int children[ n1+ 1 ] = { 0 } ;
q.push ( 1 ) ;
visited[ 1 ] = 1 ;
while ( ! q.empty ( ) ) {
int node = q.front ( ) ;
q.pop ( ) ;
int cnt = 0 ;
for ( auto node1 : A[ node] ) {
if ( ! visited[ node1] ) {
cnt++ ;
q.push ( node1) ;
visited[ node1] = 1 ;
}
}
children[ node] = cnt;
}
for ( int i = 1 ; i< n1+ 1 ; i++ ) {
cout << "Node " << i<< " has " << children[ i] << " children" << endl;
}
cout << "The Leaf Nodes of the tree are as follows: " ;
for ( int i = 1 ; i< n1+ 1 ; i++ ) {
if ( children[ i] == 0 ) {
cout << i<< " " ;
}
}
cout << endl;
}
signed main( ) {
ios:: sync_with_stdio ( false ) ; cin .tie ( NULL ) ;
//int t;
//cin >> t;
//while(t--){
solve( ) ;
//}
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBpbnQgbG9uZyBsb25nCmNvbnN0IGludCBNT0QgPSBwb3coMTAsOSkrNzsKY29uc3QgaW50IE1PRDIgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBJTkYgPSBMTE9OR19NQVgvMjsKIAppbnQgcHJpbWVzWzEwMDAwMDBdOwogCnZvaWQgc2VpdmUoKXsKICAgIGZpbGwocHJpbWVzLCBwcmltZXMgKyAxMDAwMDAwLCAxKTsKICAgIHByaW1lc1swXSA9IHByaW1lc1sxXSA9IDA7CiAgICBmb3IoaW50IGkgPSAyIDsgaSppIDwgMTAwMDAwMCA7IGkrKyl7CiAgICAgICAgaWYocHJpbWVzW2ldKXsKICAgICAgICAgICAgZm9yKGludCBqID0gaSppIDsgaiA8IDEwMDAwMDAgOyBqICs9IGkpewogICAgICAgICAgICAgICAgcHJpbWVzW2pdID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGZvcihpbnQgaSA9IDEgOyBpIDwgMTAwMDAwMCA7IGkrKyl7CiAgICAgICAgcHJpbWVzW2ldICs9IHByaW1lc1tpLTFdOwogICAgfQp9CmludCBmYWN0b3JpYWwoaW50IG4pewogICAgaWYobj09MCl7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gKG4qKGZhY3RvcmlhbChuLTEpKSklTU9EOwp9CmJvb2wgaXNQcmltZShpbnQgbil7CiAgICBpZihuIDw9IDEpIHJldHVybiBmYWxzZTsKICAgIGZvcihpbnQgaSA9IDIgOyBpKmkgPD0gbiA7IGkrKyl7CiAgICAgICAgaWYobiAlIGkgPT0gMCkgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KIAppbnQgcG93ZXIoaW50IGEsIGludCBiKXsKICAgIGlmKGIgPT0gMCkgcmV0dXJuIDE7CiAgICBhICU9IE1PRDsKICAgIGludCB2YWx1ZSA9IHBvd2VyKGEsIGIgLyAyKTsKICAgIGlmKGIgJSAyID09IDApewogICAgICAgIHJldHVybiAodmFsdWUgKiB2YWx1ZSkgJSBNT0Q7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAoKHZhbHVlICogdmFsdWUpICUgTU9EICogKGEgJSBNT0QpKSAlIE1PRDsKICAgIH0KfQogCmludCBnY2QoaW50IGEsIGludCBiKXsKICAgIGlmKGEgPT0gMCkgcmV0dXJuIGI7CiAgICByZXR1cm4gZ2NkKGIgJSBhLCBhKTsKfQp2b2lkIHNvbHZlKCkgewogICAgaW50IG4xOwogICAgY2luPj5uMTsKICAgIHZlY3RvcjxpbnQ+QVtuMSsxXTsKICAgIGZvcihpbnQgaSA9IDAgOyBpPG4xLTEgOyBpKyspewogICAgICAgIGludCBhLGI7CiAgICAgICAgY2luPj5hPj5iOwogICAgICAgIEFbYV0ucHVzaF9iYWNrKGIpOwogICAgICAgIEFbYl0ucHVzaF9iYWNrKGEpOwogICAgfQogICAgcXVldWU8aW50PnE7CiAgICBpbnQgdmlzaXRlZFtuMSsxXT17MH07CiAgICBpbnQgY2hpbGRyZW5bbjErMV0gPXswfTsKICAgIHEucHVzaCgxKTsKICAgIHZpc2l0ZWRbMV0gPSAxOwogICAgd2hpbGUoIXEuZW1wdHkoKSl7CiAgICAgICAgaW50IG5vZGUgPSBxLmZyb250KCk7CiAgICAgICAgcS5wb3AoKTsKICAgICAgICBpbnQgY250ID0gMDsKICAgICAgICBmb3IoYXV0byBub2RlMSA6IEFbbm9kZV0pewogICAgICAgICAgICBpZighdmlzaXRlZFtub2RlMV0pewogICAgICAgICAgICAgICBjbnQrKzsKICAgICAgICAgICAgICAgcS5wdXNoKG5vZGUxKTsKICAgICAgICAgICAgICAgdmlzaXRlZFtub2RlMV0gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNoaWxkcmVuW25vZGVdID0gY250OwogICAgfQogICAgZm9yKGludCBpID0gMSA7IGk8bjErMSA7IGkrKyl7CiAgICAgICAgIGNvdXQ8PCJOb2RlICI8PGk8PCIgaGFzICI8PGNoaWxkcmVuW2ldPDwiIGNoaWxkcmVuIjw8ZW5kbDsKICAgIH0KICAgIGNvdXQ8PCJUaGUgTGVhZiBOb2RlcyBvZiB0aGUgdHJlZSBhcmUgYXMgZm9sbG93czogIjsKICAgIGZvcihpbnQgaSA9IDEgOyBpPG4xKzEgOyBpKyspewogICAgICAgIGlmKGNoaWxkcmVuW2ldPT0wKXsKICAgICAgICAgICAgY291dDw8aTw8IiAiOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGVuZGw7Cn0KIApzaWduZWQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOwogICAgLy9pbnQgdDsKICAgIC8vY2luID4+IHQ7CiAgICAvL3doaWxlKHQtLSl7CiAgICAgICAgc29sdmUoKTsKICAgIC8vfQogICAgcmV0dXJuIDA7Cn0=