import java.util.* ;
import java.io.* ;
class Main {
public static void main
( String [ ] args
) { Scanner sc
= new Scanner
( System .
in ) ; int t = sc.nextInt ( ) ;
while ( t-- > 0 ) {
int n = sc.nextInt ( ) ;
int e = sc.nextInt ( ) ;
List< List< Integer>> adj= new ArrayList<> ( ) ;
for ( int i= 0 ; i<= n; i++ )
adj.add ( new ArrayList<> ( ) ) ;
for ( int k = 0 ; k < e; k++ ) {
int u = sc.nextInt ( ) ;
int v = sc.nextInt ( ) ;
adj.get ( u) .add ( v) ;
adj.get ( v) .add ( u) ;
}
int visited[ ] = new int [ n+ 1 ] ;
int level[ ] = new int [ n+ 1 ] ;
Queue< Integer> q= new LinkedList<> ( ) ;
q.add ( 1 ) ;
visited[ 1 ] = 1 ;
level[ 1 ] = 0 ;
while ( ! q.isEmpty ( ) )
{
int temp= q.poll ( ) ;
for ( int neighbour: adj.get ( temp) )
{
if ( visited[ neighbour] == 0 )
{
q.add ( neighbour) ;
visited[ neighbour] = 1 ;
level[ neighbour] = level[ temp] + 1 ;
}
}
}
for ( int i= 1 ; i<= n; i++ )
{
if ( visited[ i] == 0 )
System .
out .
println ( "we cant reach the source node to " + i
) ; else
System .
out .
println ( "we can reach the source node to " + i
) ;
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IHQgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKHQtLSA+IDApIHsKICAgICAgICAgICAgaW50IG4gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCBlID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgTGlzdDxMaXN0PEludGVnZXI+PiBhZGo9bmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8PW47aSsrKQogICAgICAgICAgICBhZGouYWRkKG5ldyBBcnJheUxpc3Q8PigpKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGU7IGsrKykgewogICAgICAgICAgICAgICAgaW50IHUgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBpbnQgdiA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgIGFkai5nZXQodSkuYWRkKHYpOwogICAgICAgICAgICAgICAgYWRqLmdldCh2KS5hZGQodSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGludCB2aXNpdGVkW109bmV3IGludFtuKzFdOwogICAgICAgICAgICBpbnQgbGV2ZWxbXT1uZXcgaW50W24rMV07CiAgICAgICAgICAgIFF1ZXVlPEludGVnZXI+IHE9bmV3IExpbmtlZExpc3Q8PigpOwogICAgICAgICAgICAKICAgICAgICAgICAgcS5hZGQoMSk7CiAgICAgICAgICAgIHZpc2l0ZWRbMV09MTsKICAgICAgICAgICAgbGV2ZWxbMV09MDsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZSghcS5pc0VtcHR5KCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgCWludCB0ZW1wPXEucG9sbCgpOwogICAgICAgICAgICAJU3lzdGVtLm91dC5wcmludCh0ZW1wKyIgIik7CiAgICAgICAgICAgIAlmb3IoaW50IG5laWdoYm91cjphZGouZ2V0KHRlbXApKQogICAgICAgICAgICAJewogICAgICAgICAgICAJCWlmKHZpc2l0ZWRbbmVpZ2hib3VyXT09MCkKICAgICAgICAgICAgCQl7CiAgICAgICAgICAgIAkJCXEuYWRkKG5laWdoYm91cik7CiAgICAgICAgICAgIAkJCXZpc2l0ZWRbbmVpZ2hib3VyXT0xOwogICAgICAgICAgICAJCQlsZXZlbFtuZWlnaGJvdXJdPWxldmVsW3RlbXBdKzE7CiAgICAgICAgICAgIAkJfQogICAgICAgICAgICAJfQogICAgICAgICAgICAJCiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYodmlzaXRlZFtpXT09MCkKICAgICAgICAgICAgCVN5c3RlbS5vdXQucHJpbnRsbigid2UgY2FudCByZWFjaCB0aGUgc291cmNlIG5vZGUgdG8gIitpKTsKICAgICAgICAgICAgCWVsc2UKICAgICAgICAgICAgCQlTeXN0ZW0ub3V0LnByaW50bG4oIndlIGNhbiByZWFjaCB0aGUgc291cmNlIG5vZGUgdG8gIitpKTsKICAgICAgICAgICAgCQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KfQ==