#include #define MN 50 int n,type[MN+5],rank[MN+5][MN+5]; void solve(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&type[i]); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&rank[i][j]); int playerLeft = n; int shootPlayer = -1; for(int i=1;i<=n;i++) if(type[i]==1){ shootPlayer = i; break; } if(rank[shootPlayer][1]==shootPlayer){ puts("lieren"); return; } const char* winner = "langren"; while(playerLeft>2){ int targetId = -1; for(int i=1;i<=n;i++){ int curTarget = rank[shootPlayer][i]; if(curTarget==shootPlayer||type[curTarget]==-1) continue; targetId = curTarget; break; } if(type[targetId]==1){ winner = "lieren"; break; } shootPlayer = targetId; type[targetId] = -1; playerLeft--; } puts(winner); } int main(){ int T; scanf("%d",&T); while(T--) solve(); }