#include<bits/stdc++.h> using namespace std; const int M=100007; int n,snow[100005][6]; vector<int> hash[100007]; bool cmp(int a,int b){ for(int i=0;i<6;i++){ if(snow[a][0]==snow[b][i]){ int j; for(j=1;j<6;j++) if(snow[a][j]!=snow[b][(j+i)%6]) break; if(j==6) return true; for(j=1;j<6;j++) if(snow[a][6-j]!=snow[b][(j+i)%6]) break; if(j==6) return true; } } return false; } bool find(int x){ int key,sum=0; for(int i=0;i<6;i++) sum+=snow[x][i]; key=sum%M; for(int i=0;i<hash[key].size();i++) if(cmp(x,hash[key][i])) return true; hash[key].push_back(x); return false; } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=0;j<6;j++) scanf("%d",&snow[i][j]); for(int i=1;i<=n;i++) if(find(i)) { printf("Twin snowflakes found."); return 0; } printf("No two snowflakes are alike."); return 0; } /************************************************************** Problem: 2353 User: yanye Language: C++ Result: Compile Error ****************************************************************/