rt。
#include<bits/stdc++.h>
using namespace std;
long long a[7];
map<long long,map<long long,int> > mp;
long long hs, pw, hs1;
const long long base=131, base1=191;
void hadsh(long long pos)
{
hs=hs1=0;
for(register long long i=1;i<=6;i++)
{
hs=hs*base+a[pos];
hs1=hs1*base1+a[pos];
pw=pw*base;
if(pos==6)
{
pos=1;
}
else pos=pos+1;
}
}
void hadsh1(long long pos)
{
hs=hs1=0;
for(register long long i=1;i<=6;i++)
{
hs=hs*base+a[pos];
pw=pw*base;
hs1=hs1*base1+a[pos];
if(pos==1)
{
pos=6;
}
else pos-=1;
}
}
void work(long long x)
{
hadsh(x);
if(mp[hs1][hs])
{
cout<<"Twin snowflakes found.";
exit(0);
}
mp[hs1][hs]=1;
}
void work1(long long x)
{
hadsh1(x);
if(mp[hs1][hs])
{
cout<<"Twin snowflakes found.";
exit(0);
}
mp[hs1][hs]=1;
}
signed main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n;
cin>>n;
for(register long long i=1;i<=n;i++)
{
for(register long long j=1;j<=6;j++)
{
cin>>a[j];
}
for(register long long j=1;j<=6;j++)
{
work(j),work1(j);
}
}
cout<<"No two snowflakes are alike.";
}