#include using namespace std; #pragma GCC target("avx2") #pragma GCC optimize("O3") const int DIM = 200005; const int MXM = 1000005; vector val[DIM], ord; int lst[MXM]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m; cin >> n >> m; for (int i = 1; i <= n; ++i) { int k; cin >> k; for (int j = 1; j <= k; ++j) { int x; cin >> x; val[i].push_back(x); } // sort(begin(val[i]), end(val[i])); ord.push_back(i); } sort(begin(ord), end(ord), [](int x, int y) { return val[x].size() > val[y].size(); }); for (int x : ord) { int b = -1; for (int bit : val[x]) { if (b == -1) { b = lst[bit]; } else if (b != lst[bit]) { cout << "YES\n" << x << " " << (b == 0 ? lst[bit] : b); return 0; } if (b == -1 || b == 0) b = lst[bit]; lst[bit] = x; } } cout << "NO\n"; return 0; }