/* 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
{
public static int n = 7;
public static int[] parent = {0, 1, 2, 3, 4, 5, 6};
public static int[] rank = {0, 0, 0, 0, 0, 0, 0};
public static int find(int node){
if(parent[node] == node){
return node;
}else{
int up = find(parent[node]);
parent[node] = up;
return parent[node];
}
}
public static void union(int a, int b){
int root1 = find(a);
int root2 = find(b);
if(root1 == root2){
return;
}else{
if(rank[root1] < rank[root2]){
parent[root1] = parent[root2];
}else if(rank[root1] > rank[root2]){
parent[root2] = parent[root2];
}else{
parent[root1] = root2;
int ranku = rank[root1];
rank[root1] = ranku + 1;
}
}
}
{
// your code goes here
union(1, 2);
union(2, 3);
union(5, 4);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJIHB1YmxpYyBzdGF0aWMgaW50IG4gPSA3OwoKCXB1YmxpYyBzdGF0aWMgaW50W10gcGFyZW50ID0gezAsIDEsIDIsIDMsIDQsIDUsIDZ9OwoJcHVibGljIHN0YXRpYyBpbnRbXSByYW5rID0gezAsIDAsIDAsIDAsIDAsIDAsIDB9OwoKCXB1YmxpYyBzdGF0aWMgaW50IGZpbmQoaW50IG5vZGUpewoJCWlmKHBhcmVudFtub2RlXSA9PSBub2RlKXsKCQkJcmV0dXJuIG5vZGU7CgkJfWVsc2V7CgkJCWludCB1cCA9IGZpbmQocGFyZW50W25vZGVdKTsKCQkJcGFyZW50W25vZGVdID0gdXA7CgkJCXJldHVybiBwYXJlbnRbbm9kZV07CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgdW5pb24oaW50IGEsIGludCBiKXsKCQkKCQlpbnQgcm9vdDEgPSBmaW5kKGEpOwoJCWludCByb290MiA9IGZpbmQoYik7CgkJCgkJaWYocm9vdDEgPT0gcm9vdDIpewoJCQlyZXR1cm47CgkJfWVsc2V7CgkJCWlmKHJhbmtbcm9vdDFdIDwgcmFua1tyb290Ml0pewoJCQkJcGFyZW50W3Jvb3QxXSA9IHBhcmVudFtyb290Ml07CgkJCX1lbHNlIGlmKHJhbmtbcm9vdDFdID4gcmFua1tyb290Ml0pewoJCQkJcGFyZW50W3Jvb3QyXSA9IHBhcmVudFtyb290Ml07CgkJCX1lbHNlewoJCQkJcGFyZW50W3Jvb3QxXSA9IHJvb3QyOwoJCQkJaW50IHJhbmt1ID0gcmFua1tyb290MV07CgkJCQlyYW5rW3Jvb3QxXSA9IHJhbmt1ICsgMTsKCQkJfQoJCX0KCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQkKCQl1bmlvbigxLCAyKTsKCQl1bmlvbigyLCAzKTsKCQl1bmlvbig1LCA0KTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50KGZpbmQoNCkpOwoJCQoJIAoJfQp9