#include <bits/stdc++.h>
using namespace std;
// ada N node
int N;
// ada M edge
int M;
// apakah node ke-i sudah terkunjungi?
// false jika belum dan true jika sudah
bool terkunjungi[ 1001 ] ;
// representasi graf menggunakan adjacency list
vector< int > adj[ 1001 ] ;
void dfs( int now) {
// memasuki node `now`
cout << "Masuk ke node " << now << "\n " ;
// tandai karena node `now` sudah kita kunjungi
terkunjungi[ now] = true ;
// Periksa seluruh tetangga dari node `now`
for ( auto next: adj[ now] ) {
// Cek apakah node `next` sudah dikunjungi atau belum
if ( ! terkunjungi[ next] ) {
// lakukan dfs pada node `next`
dfs( next) ;
}
}
}
int main( ) {
cin >> N >> M;
for ( int i= 1 ; i<= M; i++ ) {
int U,V;
cin >> U >> V;
// menambahkan edge dari U ke V ke dalam adjacency list
adj[ U] .push_back ( V) ;
// menambahkan edge dari V ke U ke dalam adjacency list
adj[ V] .push_back ( U) ;
}
// Solusi menggunakan rekursi
// kunjungan awal ada di node 1
dfs( 1 ) ;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vIGFkYSBOIG5vZGUKaW50IE47CgovLyBhZGEgTSBlZGdlCmludCBNOyAKCi8vIGFwYWthaCBub2RlIGtlLWkgc3VkYWggdGVya3VuanVuZ2k/Ci8vIGZhbHNlIGppa2EgYmVsdW0gZGFuIHRydWUgamlrYSBzdWRhaCAKYm9vbCB0ZXJrdW5qdW5naVsxMDAxXTsKCi8vIHJlcHJlc2VudGFzaSBncmFmIG1lbmdndW5ha2FuIGFkamFjZW5jeSBsaXN0CnZlY3RvcjxpbnQ+YWRqWzEwMDFdOyAKCnZvaWQgZGZzKGludCBub3cpewoJLy8gbWVtYXN1a2kgbm9kZSBgbm93YAogIGNvdXQgPDwgIk1hc3VrIGtlIG5vZGUgIiA8PCBub3cgPDwgIlxuIjsKCiAgLy8gdGFuZGFpIGthcmVuYSBub2RlIGBub3dgIHN1ZGFoIGtpdGEga3VuanVuZ2kKICB0ZXJrdW5qdW5naVtub3ddPXRydWU7IAoKICAvLyBQZXJpa3NhIHNlbHVydWggdGV0YW5nZ2EgZGFyaSBub2RlIGBub3dgCiAgZm9yKGF1dG8gbmV4dDphZGpbbm93XSl7IAoKICAJLy8gQ2VrIGFwYWthaCBub2RlIGBuZXh0YCBzdWRhaCBkaWt1bmp1bmdpIGF0YXUgYmVsdW0KICAJaWYoIXRlcmt1bmp1bmdpW25leHRdKXsgCgogIAkJLy8gbGFrdWthbiBkZnMgcGFkYSBub2RlIGBuZXh0YAogIAkJZGZzKG5leHQpOwogICAJfQogIH0KfQppbnQgbWFpbigpewoJY2luID4+IE4gPj4gTTsKICBmb3IoaW50IGk9MTsgaTw9TTsgaSsrKXsKICAJaW50IFUsVjsKICAgIGNpbiA+PiBVID4+IFY7CgogICAgLy8gbWVuYW1iYWhrYW4gZWRnZSBkYXJpIFUga2UgViBrZSBkYWxhbSBhZGphY2VuY3kgbGlzdAogICAgYWRqW1VdLnB1c2hfYmFjayhWKTsKCiAgICAvLyBtZW5hbWJhaGthbiBlZGdlIGRhcmkgViBrZSBVIGtlIGRhbGFtIGFkamFjZW5jeSBsaXN0CiAgICBhZGpbVl0ucHVzaF9iYWNrKFUpOwogIH0KICAKICAvLyBTb2x1c2kgbWVuZ2d1bmFrYW4gcmVrdXJzaQogIC8vIGt1bmp1bmdhbiBhd2FsIGFkYSBkaSBub2RlIDEKICBkZnMoMSk7Cn0=