#include using namespace std; const int maxn = 55; int T, n; int val[maxn]; int die[maxn]; int vis[maxn][maxn]; int main() { scanf("%d", &T); while(T--) { scanf("%d", &n); memset(die, 0, sizeof(die)); memset(val, 0, sizeof(val)); memset(vis, 0, sizeof(vis)); int k = 0; bool win = false; for(int i=1; i<=n; i++) { scanf("%d", &val[i]); if(val[i] == 1) { k = i; } }/* for(int i=1; i<=n; i++) { printf("%d ", val[i]); } printf("\n");*/ for(int i = 1; i<= n; i++) { for(int j = 1; j<= n; j++) { scanf("%d", &vis[i][j]); } }/* for(int i=1; i<= n; i++) { for(int j=1; j<=n; j++) { printf("%d ", vis[i][j]); } printf("\n"); }*/ int count_ = 0; for(int i=1; i<=n; i++) { int num = vis[k][i]; if(num != k && die[num] == 0)//狼人杀人 { int out = num; //被杀猎人 die[num] = 1; //cout << out << endl; count_++; int out_k; while(out) { int con = 0; for(int i=1; i<=n; i++) { out_k = vis[out][i]; if(out_k == k)//狼人被击杀 { win = false; con = 1; break; } if(out_k != k && die[out_k] == 0)//猎人被击杀 { die[out_k] = 1; count_++; out = out_k; //cout << out << endl; break; } } //cout << " " << count_ << endl; if(count_ >= n - 2) { win = true; con = 1; } //cout << "con" << con << endl; if(con == 1) { break; } } } break; } if(win == true) { printf("langren\n"); } else printf("lieren\n"); } return 0; }