#include #define debug(x) cerr<<#x<<" = "<=mod)?(x+y-mod):(x+y);} inline int mns(int x,int y){return (x-y<0)?(x-y+mod):(x-y);} inline int mul(LL x,LL y){return x*y%mod;} inline void upd(int &x,int y){x=(x+y>=mod)?(x+y-mod):(x+y);} inline void dec(int &x,int y){x=(x-y<0)?(x-y+mod):(x-y);} inline int qpow(int x,int sq){LL res=1;for(;sq;sq>>=1,x=mul(x,x))if(sq&1)res=mul(res,x);return res;} }using namespace CALC; #define M 52 int n,x,X; int tar[M][M],bas[M]; int rem; bool alv[M]; inline int kill(int x){ while(!alv[tar[x][bas[x]]]) bas[x]++; return tar[x][bas[x]]; } inline void solve(){ n=read(),rem=n; for(int i=1;i<=n;i++) if(read()==1) X=x=i; for(int i=1;i<=n;i++) bas[i]=1,alv[i]=true; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) tar[i][j]=read(); while(rem>2){ x=kill(x); if(x==X){puts("lieren");return;} alv[x]=false,rem--; } puts("langren"); } int main(){ for(int Cas=read();Cas;--Cas) solve(); return 0; }