#include <bits/stdc++.h>
using namespace std;
struct node {
  long long sum;
  int seq;
  int idx;
  bool operator<(const node &p) const { return this->sum < p.sum; }
};
vector<node> a;
int b[200009];
map<long long, set<long long> > mp;
set<long long> st;
set<long long>::iterator it;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int i, j, k, n, sz, x, y, u, v;
  long long val, ans;
  cin >> k;
  for (i = 1; i <= k; i++) {
    cin >> sz;
    for (j = 1, val = 0LL; j <= sz; j++) {
      cin >> b[j];
      val += b[j];
    }
    for (j = 1; j <= sz; j++) {
      node p;
      p.sum = val - b[j];
      p.seq = i;
      p.idx = j;
      mp[p.sum].insert(p.seq);
      a.push_back(p);
      st.insert(p.sum);
    }
  }
  for (it = st.begin(); it != st.end(); it++) {
    ans = *it;
    if (mp[ans].size() > 1) {
      cout << "YES"
           << "\n";
      int siz = a.size();
      for (i = 0, x = 0, u = 0; i < siz; i++) {
        if ((a[i].sum == ans) && (x == 0) && (u == 0)) {
          x = a[i].seq;
          u = a[i].idx;
        } else if ((a[i].sum == ans) && (x != 0) && (u != 0) &&
                   (a[i].seq != x) && (a[i].idx != u)) {
          y = a[i].seq;
          v = a[i].idx;
          break;
        }
      }
      cout << x << " " << u << "\n";
      cout << y << " " << v << "\n";
      return 0;
    }
  }
  cout << "NO"
       << "\n";
  return 0;
}
