#include #include #include #define PB push_back using namespace std; const int N = 1e6 + 500; int siz[N], cnt[N], n, m, ind[N], zad[N]; vector < int > v[N]; bool cmp(int i, int j) { return siz[i] < siz[j]; } int main(){ scanf("%d%d", &n, &m); for(int i = 1;i <= n;i++) { scanf("%d", siz + i); ind[i - 1] = i; for(int j = 0;j < siz[i];j++) { int x; scanf("%d", &x); v[i].PB(x); } } sort(ind, ind + n, cmp); for(int ii = 0;ii < n;ii++) { int i = ind[ii]; vector < int > mozd; for(int x : v[i]) { if(zad[x]) mozd.PB(zad[x]); } for(int t : mozd) cnt[t] = 0; for(int t : mozd) cnt[t]++; for(int t : mozd) { if(cnt[t] != siz[t]) { printf("YES\n%d %d\n", i, t); return 0; } } for(int x : v[i]) zad[x] = i; } printf("NO\n"); return 0; }