//#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include //#include #define itn int #define nit int #define ll long long #define ms multiset #define F(i,a,b) for(register int i=a,i##end=b;i<=i##end;++i) #define UF(i,a,b) for(register int i=a,i##end=b;i>=i##end;--i) #define re register #define ri re int #define il inline #define pii pair #define cp complex //#pra gma G CC opti mize(3) using namespace std; using std::bitset; //using namespace __gnu_pbds; const double Pi=acos(-1); namespace fastIO { template inline void read(T &x) { x=0; bool fu=0; char ch=0; while(ch>'9'||ch<'0') { ch=getchar(); if(ch=='-')fu=1; } while(ch<='9'&&ch>='0') x=(x*10-48+ch),ch=getchar(); if(fu)x=-x; } inline int read() { int x=0; bool fu=0; char ch=0; while(ch>'9'||ch<'0') { ch=getchar(); if(ch=='-')fu=1; } while(ch<='9'&&ch>='0') x=(x*10-48+ch),ch=getchar(); return fu?-x:x; } template inline void read(T& t,Args&... args) { read(t); read(args...); } char _n_u_m_[40]; template inline void write(T x ) { if(x==0){ putchar('0'); return; } T tmp = x > 0 ? x : -x ; if( x < 0 ) putchar('-') ; register int cnt = 0 ; while( tmp > 0 ) { _n_u_m_[ cnt ++ ] = tmp % 10 + '0' ; tmp /= 10 ; } while( cnt > 0 ) putchar(_n_u_m_[ -- cnt ]) ; } template inline void write(T x ,char ch) { write(x); putchar(ch); } } using namespace fastIO; int a[52][52],n,p; bool orz[52]; int main() { F(adfsd,1,read()){ read(n);memset(orz,1,sizeof(orz)); F(i,1,n)if(read()==1)p=i; F(i,1,n)F(j,1,n)read(a[i][j]); if(a[p][1]==p)puts("lieren"); else{ int now=a[p][1]; F(i,1,n-3){ orz[now]=0; F(j,1,n)if(orz[a[now][j]]){ now=a[now][j]; break; } if(now==p){ puts("lieren"); break; } } if(now^p)puts("langren"); } } return 0; }