#include <iostream> #include <algorithm> #include <vector> #include <set> #include <cassert> using namespace std; int main() { int T; scanf("%d", &T); assert(T >= 1 && T <= 10); int sum = 0; while (T--) { int n, K; scanf("%d %d", &n, &K); assert(n >= 1 && n <= 100000); assert(K >= 1 && K <= (int) 1e5); vector<vector<int> > ingredients(n); vector<int> cnt(K); set<int> total; for (int i = 0; i < n; i++) { int tot; scanf("%d", &tot); assert(tot >= 1); sum += tot; set<int> st; for (int j = 0; j < tot; j++) { int x; scanf("%d", &x); assert(x >= 1 && x <= K); x--; st.insert(x); cnt[x]++; ingredients[i].push_back(x); total.insert(x); } assert(st.size() == tot); } if (total.size() != K) { puts("sad"); } else { int cntRequired = 0; for (int i = 0; i < n; i++) { int required = false; for (int x: ingredients[i]) { cnt[x]--; if (cnt[x] == 0) { required = true; break; } } if (required) { cntRequired++; } for (int x: ingredients[i]) { cnt[x]++; } } puts(cntRequired == n ? "all" : "some"); } } cerr << "sum " << sum << endl; assert(sum <= (int) 1e6); return 0; }