#include <iostream>
using namespace std;
int ile[200007];
int tab[200007];
int t[200007];
void wczytaj(int m)
{
for(int i=1;i<=m;i++)
{
ile[i]=1;
tab[i]=i;
}
}
int find(int a)
{
if(a==tab[a])
return a;
return tab[a]=find(tab[a]);
}
void uni(int a,int b)
{
int x=find(a);
int y=find(b);
if(x==y)
return;
else
{
if(ile[x]>ile[y])
{
ile[x]+=ile[y];
tab[y]=x;
t[y]=1;
}
else
{
ile[y]+=ile[x];
tab[x]=y;
t[x]=1;
}
return;
}
}
int main() {
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgaWxlWzIwMDAwN107CmludCB0YWJbMjAwMDA3XTsKaW50IHRbMjAwMDA3XTsKCnZvaWQgd2N6eXRhaihpbnQgbSkKewpmb3IoaW50IGk9MTtpPD1tO2krKykKewppbGVbaV09MTsKdGFiW2ldPWk7Cn0KfQppbnQgZmluZChpbnQgYSkKewppZihhPT10YWJbYV0pCnJldHVybiBhOwpyZXR1cm4gdGFiW2FdPWZpbmQodGFiW2FdKTsKfQp2b2lkIHVuaShpbnQgYSxpbnQgYikKewppbnQgeD1maW5kKGEpOwppbnQgeT1maW5kKGIpOwppZih4PT15KQpyZXR1cm47CmVsc2UKewppZihpbGVbeF0+aWxlW3ldKQp7CmlsZVt4XSs9aWxlW3ldOwp0YWJbeV09eDsKdFt5XT0xOwp9CmVsc2UKewppbGVbeV0rPWlsZVt4XTsKdGFiW3hdPXk7CnRbeF09MTsKfQpyZXR1cm47ICAgICAgCn0KfQoKaW50IG1haW4oKSB7CgpyZXR1cm4gMDsKfQ==