importjava.util.*;classMain{publicstaticint[] father;publicstaticvoidmain(String[] args){Scanner scan =newScanner(System.in);int n = scan.nextInt();
father =newint[n +1];init();String result ="";for(int i =0; i < n; i++){int s = scan.nextInt();int t = scan.nextInt();if(isSame(s, t)){
result = s +" "+ t;}else{join(s, t);}}
scan.close();System.out.println(result);}// 并查集初始化publicstaticvoidinit(){for(int i =0; i < father.length; i++){
father[i]= i;// 每个节点的父节点初始化为自己}}// 并查集查找 (带路径压缩)publicstaticintfind(int u){if(u == father[u]){return u;}return(father[u]=find(father[u]));}// 判断两个节点是否在同一集合publicstaticbooleanisSame(int u,int v){returnfind(u)==find(v);}// 合并两个集合publicstaticvoidjoin(int u,int v){
u =find(u);
v =find(v);if(u != v){
father[v]= u;// 将 v 的根节点指向 u}}}