You are given $k$ sequences of integers. The length of the $i$-th sequence equals to $n_i$.

You have to choose exactly two sequences $i$ and $j$ ($i \ne j$) such that you can remove exactly one element in each of them in such a way that the sum of the changed sequence $i$ (its length will be equal to $n_i - 1$) equals to the sum of the changed sequence $j$ (its length will be equal to $n_j - 1$).

Note that it's required to remove exactly one element in each of the two chosen sequences.

Assume that the sum of the empty (of the length equals $0$) sequence is $0$.


-----Input-----

The first line contains an integer $k$ ($2 \le k \le 2 \cdot 10^5$) — the number of sequences.

Then $k$ pairs of lines follow, each pair containing a sequence.

The first line in the $i$-th pair contains one integer $n_i$ ($1 \le n_i < 2 \cdot 10^5$) — the length of the $i$-th sequence. The second line of the $i$-th pair contains a sequence of $n_i$ integers $a_{i, 1}, a_{i, 2}, \dots, a_{i, n_i}$.

The elements of sequences are integer numbers from $-10^4$ to $10^4$.

The sum of lengths of all given sequences don't exceed $2 \cdot 10^5$, i.e. $n_1 + n_2 + \dots + n_k \le 2 \cdot 10^5$.


-----Output-----

If it is impossible to choose two sequences such that they satisfy given conditions, print "NO" (without quotes). Otherwise in the first line print "YES" (without quotes), in the second line — two integers $i$, $x$ ($1 \le i \le k, 1 \le x \le n_i$), in the third line — two integers $j$, $y$ ($1 \le j \le k, 1 \le y \le n_j$). It means that the sum of the elements of the $i$-th sequence without the element with index $x$ equals to the sum of the elements of the $j$-th sequence without the element with index $y$.

Two chosen sequences must be distinct, i.e. $i \ne j$. You can print them in any order.

If there are multiple possible answers, print any of them.


-----Examples-----
Input
2
5
2 3 1 3 2
6
1 1 2 2 2 1

Output
YES
2 6
1 2

Input
3
1
5
5
1 1 1 1 1
2
2 3

Output
NO

Input
4
6
2 2 2 2 2 2
5
2 2 2 2 2
3
2 2 2
5
2 2 2 2 2

Output
YES
2 2
4 1



-----Note-----

In the first example there are two sequences $[2, 3, 1, 3, 2]$ and $[1, 1, 2, 2, 2, 1]$. You can remove the second element from the first sequence to get $[2, 1, 3, 2]$ and you can remove the sixth element from the second sequence to get $[1, 1, 2, 2, 2]$. The sums of the both resulting sequences equal to $8$, i.e. the sums are equal.

Difficulty: introductory

Starter code:

Solutions:
import sys
k=int(input())
L=[]
dic=dict()
flag=False
for i in range(k):
    L.append([int(input())])
    L[i].append(list(map(int,input().split())))
    s=sum(L[i][1])
    q=[]
    for j in range(L[i][0]):
        if flag:
            return
        t=s-L[i][1][j]
        if t in dic:
            x,y=dic[t]
            print("YES")
            print(i+1,j+1)
            print(x,y)
            flag=True
        else:
            q.append((t,i+1,j+1))
    for a,b,c in q:
        dic[a]=(b,c)
print("NO")


import sys

class Scanner():
    def __init__(self):
        self.tokens = []
        self.index = -1
	
        for line in sys.stdin:
            self.tokens.extend(line.split())
    
    def next_token(self):
        self.index += 1
        return None if self.index == len(self.tokens) \
		            else self.tokens[self.index]

def main():
    scanner = Scanner()
    n = int(scanner.next_token())
    
    sequences = []
    for i in range(n):
        k = int(scanner.next_token())
        sequences.append([int(scanner.next_token()) for _ in range(k)])
    
    mp = dict()
    for i, ar in enumerate(sequences):
        s = sum(ar)
        for j, v in enumerate(ar):
            x = s - v
            if x in mp:
                print("YES")
                print("{} {}".format(mp[x][0] + 1, mp[x][1] + 1))
                print("{} {}".format(i + 1, j + 1))
                return
        
        for j, v in enumerate(ar):
            mp[s - v] = (i, j)
    
    print("NO")
    
def __starting_point():
    main()

__starting_point()

k = int(input())
a = []
for i in range(k):
    n = int(input())
    b = [int(i) for i in input().split()]
    s = sum(b)
    for j in range(n):
        x = s-b[j]
        a.append([x,i,j])
f = True
a = sorted(a)
for i in range(1,len(a)):
    if a[i][0] == a[i-1][0] and a[i][1]!=a[i-1][1]:
        f = False
        print('YES')
        print(a[i][1]+1,a[i][2]+1)
        print(a[i-1][1]+1, a[i-1][2]+1)
        break
if f:
    print('NO')

m=int(input())
a=[]
for i in range(m):
    n=int(input())
    a.append(list(map(int,input().split())))
d=dict()
f=0
for i in range(m):
    summ=sum(a[i])
    for j in range(len(a[i])):
        if(summ-a[i][j] in d):
            if(d[summ-a[i][j]][0]!=i+1):
                print("YES")
                print(*d[summ-a[i][j]])
                print(i+1,j+1)
                f=1
                break
        d[summ-a[i][j]]=[i+1,j+1]
    if(f):
        break
if(f==0):
    print("NO")

n = int(input())
cl = set()
dic = {}
for i in range(n):
    m = int(input())
    s = list(map(int, input().split()))
    t = []
    sm = sum(s)
    for x in range(m):
        a = sm - s[x]
        if a in cl:
            print('YES')
            print('{} {}'.format(i + 1, x + 1))
            print('{} {}'.format(dic[a][0], dic[a][1]))
            return
        dic.update({a: (i+1, x+1)})
        t.append(a)
    for x in set(t):
        cl.add(x)


print('NO')

read = lambda : list(map(int,input().split()))

k = int(input())
a = []
s = []
dict = {}
for i in range(k):
   a.append([])
   input()
   s.append(0)
   for j in read():
      s[i] += j
      a[i].append(j)
ok = False
for i in range(k):
   if ok:
      break
   for j  in range(len(a[i])):
      
      x = s[i] - a[i][j]
      tmp = dict.get(x)
      if ( tmp  != None  ):
         ok = True
         print("YES")
         print(i+1,j+1)
         print(tmp[0]+1,tmp[1]+1)
         break

   for j in range(len(a[i])):
      x = s[i] - a[i][j]
      dict[x] = [i,j]
if not ok:
   print("NO")



k = int(input())
n = int(input())
a = list(map(int, input().split()))
d = {}
suma = sum(a)

for i in range(n):
    d[suma - a[i]] = [1, i + 1]

ans = False

for i in range(k - 1):
    n = int(input())
    a = list(map(int, input().split()))
    suma = sum(a)
    for j in range(n):
        if (suma - a[j]) in d and not d[suma - a[j]][0] == i + 2:
            print('YES')
            print(i + 2, j + 1)
            print(d[suma - a[j]][0], d[suma - a[j]][1])
            ans = True
            break
        else:
            d[suma - a[j]] = [i + 2, j + 1]
    if ans:
        break
if not ans:
    print('NO')

k = int(input())
possums = {}
have_ans = False
for i in range(k):
    if have_ans:
        break

    n = input()
    seq = list(map(int, input().split(' ')))
    s = sum(seq)
    for i_in_seq, n in enumerate(seq):
        v = s - n
        if v in possums and i != possums[v][0]:
            have_ans = True
            print('YES')
            print(i + 1, i_in_seq + 1)
            print(possums[v][0] + 1, possums[v][1] + 1)
            break
        else:
            possums[v] = (i, i_in_seq)

if not have_ans:
    print('NO')


k=int(input())
a,c=[],{}
for i in range(k):
    a.append([])
    n,a[i],s=int(input()),[],0
    for j in input().split():
        a[i]+=[-int(j)]
        s+=int(j)
    for j in range(n):
        a[i][j]+=s
        h=c.get(a[i][j])
        if h!=None and h[0]!=i+1:
            print("YES")
            print(h[0],h[1])
            print(1+i,1+j)
            quit()
        c[a[i][j]]=[i+1,j+1]
print("NO")