#include<iostream>
#include<vector>
#include<cstring>
#define max 1000
#define INF 100000000
using namespace std;
vector<int> adj[max];
int time_count,n,e;
char visited[max];
int reach_time[max],end_time[max];
void createAdjecenyList(int u,int v){
adj[u].push_back(v);
adj[v].push_back(u);
}
void dfs(int v){
int u;
visited[v] = 1;
printf("Found Node: %d\n",v);
reach_time[v]=time_count++;
for(u=0; u < adj[v].size(); u++)
if(!visited[adj[v][u]])//mistake
dfs(adj[v][u]);//mistake
end_time[v] = time_count++;
}
int main(){
int u,v,i;
memset(visited,0,sizeof(visited)); // 0 is for new node and 1 is for visited node
scanf("%d",&n); // number of nodes
scanf("%d",&e); // number of edges
while(e--) {
scanf("%d %d",&u,&v);
createAdjecenyList(u,v);
}
dfs(1);
printf("time: %d\n",time_count);
cout<<endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8Y3N0cmluZz4KI2RlZmluZSBtYXggMTAwMAojZGVmaW5lIElORiAxMDAwMDAwMDAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvcjxpbnQ+IGFkalttYXhdOwppbnQgdGltZV9jb3VudCxuLGU7CmNoYXIgdmlzaXRlZFttYXhdOwppbnQgcmVhY2hfdGltZVttYXhdLGVuZF90aW1lW21heF07CnZvaWQgY3JlYXRlQWRqZWNlbnlMaXN0KGludCB1LGludCB2KXsKICAgICBhZGpbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgYWRqW3ZdLnB1c2hfYmFjayh1KTsKfQoKdm9pZCBkZnMoaW50IHYpewogIGludCB1OwogIHZpc2l0ZWRbdl0gPSAxOwogIHByaW50ZigiRm91bmQgTm9kZTogJWRcbiIsdik7CiAgcmVhY2hfdGltZVt2XT10aW1lX2NvdW50Kys7CiAgZm9yKHU9MDsgdSA8IGFkalt2XS5zaXplKCk7IHUrKykKICAgICBpZighdmlzaXRlZFthZGpbdl1bdV1dKS8vbWlzdGFrZQogICAgICAgIGRmcyhhZGpbdl1bdV0pOy8vbWlzdGFrZQogIGVuZF90aW1lW3ZdID0gdGltZV9jb3VudCsrOwp9CgppbnQgbWFpbigpewogICAgaW50IHUsdixpOwogICAgbWVtc2V0KHZpc2l0ZWQsMCxzaXplb2YodmlzaXRlZCkpOyAgLy8gMCAgaXMgZm9yIG5ldyBub2RlIGFuZCAxIGlzIGZvciB2aXNpdGVkIG5vZGUKICAgIHNjYW5mKCIlZCIsJm4pOyAgLy8gbnVtYmVyIG9mIG5vZGVzCiAgICBzY2FuZigiJWQiLCZlKTsgLy8gbnVtYmVyIG9mIGVkZ2VzCiAgICB3aGlsZShlLS0pIHsKICAgICAgIHNjYW5mKCIlZCAlZCIsJnUsJnYpOwogICAgICAgY3JlYXRlQWRqZWNlbnlMaXN0KHUsdik7ICAKICAgIH0KICAgIGRmcygxKTsKICAgIHByaW50ZigidGltZTogJWRcbiIsdGltZV9jb3VudCk7CiAgICBjb3V0PDxlbmRsOwogICAgcmV0dXJuIDA7Cn0K