A coordinate line has *n* segments, the *i*-th segment starts at the position *l*<sub class="lower-index">*i*</sub> and ends at the position *r*<sub class="lower-index">*i*</sub>. We will denote such a segment as [*l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub>].

You have suggested that one of the defined segments covers all others. In other words, there is such segment in the given set, which contains all other ones. Now you want to test your assumption. Find in the given set the segment which covers all other segments, and print its number. If such a segment doesn't exist, print -1.

Formally we will assume that segment [*a*, *b*] covers segment [*c*, *d*], if they meet this condition *a* ≤ *c* ≤ *d* ≤ *b*.
The first line contains integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>) — the number of segments. Next *n* lines contain the descriptions of the segments. The *i*-th line contains two space-separated integers *l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub> (1 ≤ *l*<sub class="lower-index">*i*</sub> ≤ *r*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>) — the borders of the *i*-th segment.

It is guaranteed that no two segments coincide.
N = int(input())
min_ = 10**9+1      # az eddig talált legbaloldalibb szakaszhatár
max_ = 0            # az eddig talált legjobboldalibb szakaszhatár
minmaxsorszam = -1  # annak a szakasznak a sorszáma, amely minmax
minmax_l = 10**9+1  # az eltárolt minmax szakasz baloldali széle
minmax_r = 0        # az eltárolt minmax szakasz jobboldali széle
for i in range(1,N+1):
    l, r = map(int, input().split())
    # új min_ és max_ értékeket állítunk be, ha akár balról, akár jobbról kilóg a mostani
    min_ = min(min_, l)
    max_ = max(max_, r)
    # borul-e az eddigi minmax, mert a jelenlegi kilóg az eddigi minmaxból?
    if l < minmax_l or r > minmax_r:
        minmaxsorszam = -1  # nincs minmax! visszaállítom a kiindulási értékeket
        minmax_l = 10**9+1
        minmax_r = 0
    # a mostani (l,r) szakasz vajon minmax-e, azaz lefedi-e az eddigieket mindkét irányból?
    if l <= min_ and r >= max_:  # ha igen, akkor új minmax szakaszt találtunk
        minmaxsorszam = i       # és elmentjük az adatait
        minmax_l = l
        minmax_r = r
# ha volt minmax, akkor annak a sorszáma minmaxsorszam-ban, egyébként -1
print(minmaxsorszam)
