//f.cpp #include using namespace std; vector a[200005]; vector same[1000005]; bool use[200005]; bool is_included(const vector& a, const vector& b) { int j=0; for (int i=0;i> n >> m; for (int i=1;i<=n;i++) { int k; cin >> k; for (int j=0;j> x; a[i].push_back(x); same[x].push_back(i); } sort(a[i].begin(), a[i].end()); } for (int i=1;i<=m;i++) { sort(same[i].begin(), same[i].end(), [](int x, int y) { return a[x].size() < a[y].size(); }); int x=0, y=0; while (y < same[i].size()) { x = y; while (x < same[i].size() && use[same[i][x]]) x++; y = x+1; while (y < same[i].size() && use[same[i][y]]) y++; if (y >= same[i].size()) break; if (!is_included(a[same[i][x]], a[same[i][y]])) { cout << "YES\n"; cout << same[i][x] << ' ' << same[i][y] << '\n'; exit(0); } else use[same[i][x]] = true; } } cout << "NO\n"; return 0; }