/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
}
public ArrayList<Integer> bfs(ArrayList<ArrayList<Integer>> adj) {
int v = adj.size();
boolean []visited = new boolean[v];
ArrayList<Integer> res = new ArrayList<>();
int src = 0;
Queue<Integer> q = new LinkedList<>();
q.add(src);
visited[src] = true;
while(!q.isEmpty()){
int curr = q.poll();
res.add(curr);
for(int x : adj.get(curr)){
if(!visited[x]){
q.add(x);
visited[x] = true;
}
}
}
return res;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KCQoJcHVibGljIEFycmF5TGlzdDxJbnRlZ2VyPiBiZnMoQXJyYXlMaXN0PEFycmF5TGlzdDxJbnRlZ2VyPj4gYWRqKSB7CiAgICAgICAgaW50IHYgPSBhZGouc2l6ZSgpOwogICAgICAgIGJvb2xlYW4gW112aXNpdGVkID0gbmV3IGJvb2xlYW5bdl07CiAgICAgICAgQXJyYXlMaXN0PEludGVnZXI+IHJlcyA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGludCBzcmMgPSAwOwogICAgICAgIFF1ZXVlPEludGVnZXI+IHEgPSBuZXcgTGlua2VkTGlzdDw+KCk7CiAgICAgICAgcS5hZGQoc3JjKTsKICAgICAgICB2aXNpdGVkW3NyY10gPSB0cnVlOwogICAgICAgIHdoaWxlKCFxLmlzRW1wdHkoKSl7CiAgICAgICAgICAgIGludCBjdXJyID0gcS5wb2xsKCk7CiAgICAgICAgICAgIHJlcy5hZGQoY3Vycik7CiAgICAgICAgICAgIAogICAgICAgICAgICBmb3IoaW50IHggOiBhZGouZ2V0KGN1cnIpKXsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYoIXZpc2l0ZWRbeF0pewogICAgICAgICAgICAgICAgICAgIHEuYWRkKHgpOwogICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRbeF0gPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gcmVzOwogICAgICAgIAogICAgfQp9