#include<stdio.h>
#include <stdlib.h>
#define size 13
void Initial(int s[]){
for(int i=0;i<size;i++)
{
s[i]=-1;
}
}
int find(int s[],int x){
int root=x;
while (s[root]>=0){
root=s[root];
}
while(x!=root){
int t=s[x];
s[x]=root;
x=t;
}
return x;
}
void Union(int s[],int root1,int root2){
if(root1==root2){
return;
}else{
if(s[root2]>s[root1])
{
s[root1]+=s[root2];
s[root2]=root1;
}
else{
s[root2]+=s[root1];
s[root1]=root2;
}
}
}
int main()
{
int s [size];
Initial (s);
s[0]=-6;
s[1]=0;
s[2]=-2;
s[3]=-5;
s[4]=1;
s[5]=1;
s[6]=2;
s[7]=3;
s[8]=3;
s[9]=3;
s[10]=4;
s[11]=4;
s[12]=7;
int a=find(s,5);
int b=find(s,6);
printf("%d\n",a);
printf("%d\n",b);
Union(s,a,b);
int c=find(s,5);
int d=find(s,6);
printf("%d\n",c);
printf("%d\n",d);
return 0;
}