#include<bits/stdc++.h>
using namespace std;
// Path option optimization : Tối ưu nén đường
// Tối ưu gộp kích thước
int n ;
const int maxn = 1005;
int parent[1000001],sz[maxn];
void ktao(){
cin >> n ;
for(int i = 1 ; i <= n ; i++){
parent[i] = i;
sz[i] = 1;
}
}
int Find(int u){
while(u != parent[u]){
u = parent[u];
}
return u;
}
/*
int Find(int u){
if(u == parent[u]) return u ;
else return parent[u] = Find(parent[u]);
}
*/
bool Union(int u,int v){
u = Find(u);
v = Find(v);
if(u == v){
return false;
}
else{
if(u < v) parent[v] = u;
else parent[u] = v;
return true;
}
}
/*bool Union(int u,int v){
u = Find(u);
v = Find(v);
if(u == v) return false;
if(sz[u] < sz[v]){
swap(u,v);
}
sz[u] += sz[v];
parent[v] = u;
return true;
}*/
int main(){
ktao();
cout << Find(5) << endl;
cout << Union(5,6) << " " << Find(6);
}
CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vIFBhdGggb3B0aW9uIG9wdGltaXphdGlvbiA6IFThu5FpIMawdSBuw6luIMSRxrDhu51uZwovLyBU4buRaSDGsHUgZ+G7mXAga8OtY2ggdGjGsOG7m2MKaW50IG4gOwpjb25zdCBpbnQgbWF4biA9IDEwMDU7CmludCBwYXJlbnRbMTAwMDAwMV0sc3pbbWF4bl07Cgp2b2lkIGt0YW8oKXsKICAgIGNpbiA+PiBuIDsKICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspewogICAgICAgIHBhcmVudFtpXSA9IGk7CiAgICAgICAgc3pbaV0gPSAxOwogICAgfQp9CgppbnQgRmluZChpbnQgdSl7CiAgICB3aGlsZSh1ICE9IHBhcmVudFt1XSl7CiAgICAgICAgdSA9IHBhcmVudFt1XTsKICAgIH0KICAgIHJldHVybiB1Owp9Ci8qCmludCBGaW5kKGludCB1KXsKICAgIGlmKHUgPT0gcGFyZW50W3VdKSByZXR1cm4gdSA7CiAgICBlbHNlIHJldHVybiBwYXJlbnRbdV0gPSBGaW5kKHBhcmVudFt1XSk7Cn0KKi8KCmJvb2wgVW5pb24oaW50IHUsaW50IHYpewogICAgdSA9IEZpbmQodSk7CiAgICB2ID0gRmluZCh2KTsKICAgIGlmKHUgPT0gdil7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgZWxzZXsKICAgICAgICBpZih1IDwgdikgcGFyZW50W3ZdID0gdTsKICAgICAgICBlbHNlIHBhcmVudFt1XSA9IHY7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9Cn0KLypib29sIFVuaW9uKGludCB1LGludCB2KXsKICAgIHUgPSBGaW5kKHUpOwogICAgdiA9IEZpbmQodik7CiAgICBpZih1ID09IHYpIHJldHVybiBmYWxzZTsKICAgIGlmKHN6W3VdIDwgc3pbdl0pewogICAgICAgIHN3YXAodSx2KTsKICAgIH0KICAgIHN6W3VdICs9IHN6W3ZdOwogICAgcGFyZW50W3ZdID0gdTsKICAgIHJldHVybiB0cnVlOwp9Ki8KaW50IG1haW4oKXsKICAgIGt0YW8oKTsKICAgIGNvdXQgPDwgRmluZCg1KSA8PCBlbmRsOwogICAgY291dCA8PCBVbmlvbig1LDYpIDw8ICIgIiA8PCBGaW5kKDYpOwp9Cg==