#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int uset[2000000];
int rank[2000000];
void makeset(int len)//让每一个成为一个整体。
{
int i;
for (i=1;i<=len;i++)
uset[i]=i;
}
int find(int x)//判断时哪一组的。
{
if(x!=uset[x])
uset[x]=find(uset[x]);
return uset[x];
}
void unionset(int x,int y)//合并同一类的。
{
int fx=find(x);
int fy=find(y);
if (fx!=fy)
uset[x]=fy;
}
int main()
{
int a,b,c,d,n,m,i;
while (~scanf("%d%d",&n,&m))
{
makeset(n);
for (i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
unionset(a,b);
}
scanf("%d%d",&c,&d);
if (find(c)==find(d))
puts("same");
else puts("not sure");
}
return 0;
}
//初步能敲出代码,但个别地方还是不明白,以后加详。
#include <stdlib.h>
#include <string.h>
int uset[2000000];
int rank[2000000];
void makeset(int len)//让每一个成为一个整体。
{
int i;
for (i=1;i<=len;i++)
uset[i]=i;
}
int find(int x)//判断时哪一组的。
{
if(x!=uset[x])
uset[x]=find(uset[x]);
return uset[x];
}
void unionset(int x,int y)//合并同一类的。
{
int fx=find(x);
int fy=find(y);
if (fx!=fy)
uset[x]=fy;
}
int main()
{
int a,b,c,d,n,m,i;
while (~scanf("%d%d",&n,&m))
{
makeset(n);
for (i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
unionset(a,b);
}
scanf("%d%d",&c,&d);
if (find(c)==find(d))
puts("same");
else puts("not sure");
}
return 0;
}
//初步能敲出代码,但个别地方还是不明白,以后加详。