import
java.util.ArrayList;
import
java.util.HashMap;
import
java.util.LinkedList;
import
java.util.Map;
import
java.util.Queue;
class
Pair
{
int
first, second;
public
Pair(
int
first,
int
second)
{
this
.first = first;
this
.second = second;
}
}
class
GFG{
static
Map<Integer, ArrayList<Integer>> graph =
new
HashMap<>();
static
Map<Integer, Integer> vis =
new
HashMap<>();
static
ArrayList<Integer> odd =
new
ArrayList<>();
static
ArrayList<Integer> even =
new
ArrayList<>();
static
void
bfs()
{
int
src =
1
;
Queue<Pair> q =
new
LinkedList<>();
q.add(
new
Pair(src,
0
));
vis.put(src,
1
);
while
(!q.isEmpty())
{
int
node = q.peek().first;
int
dist = q.peek().second;
q.poll();
if
((dist &
1
) !=
0
)
{
odd.add(node);
}
else
{
even.add(node);
}
for
(Integer i : graph.get(node))
{
if
(!vis.containsKey(i))
{
q.add(
new
Pair(i, (dist +
1
)));
vis.put(i,
1
);
}
}
}
}
public
static
void
main(String[] args)
{
graph.put(
1
,
new
ArrayList<>());
graph.put(
2
,
new
ArrayList<>());
graph.put(
3
,
new
ArrayList<>());
graph.put(
4
,
new
ArrayList<>());
graph.put(
5
,
new
ArrayList<>());
graph.put(
6
,
new
ArrayList<>());
graph.get(
1
).add(
2
);
graph.get(
2
).add(
1
);
graph.get(
2
).add(
3
);
graph.get(
3
).add(
2
);
graph.get(
3
).add(
4
);
graph.get(
4
).add(
3
);
graph.get(
4
).add(
5
);
graph.get(
5
).add(
4
);
graph.get(
5
).add(
6
);
graph.get(
6
).add(
5
);
graph.get(
6
).add(
1
);
graph.get(
1
).add(
6
);
bfs();
if
(odd.size() < even.size())
{
for
(
int
i : odd)
{
System.out.print(i +
" "
);
}
}
else
{
for
(
int
i : even)
{
System.out.print(i +
" "
);
}
}
}
}