You are given a sequence a1, a2, ..., an of one-dimensional segments numbered 1 through n. Your task is to find two distinct indices i and j such that segment ai lies within segment aj.

Segment [l1, r1] lies within segment [l2, r2] iff l1 ≥ l2 and r1 ≤ r2.

Print indices i and j. If there are multiple answers, print any of them. If no answer exists, print -1 -1.

Input

The first line contains one integer n (1 ≤ n ≤ 3·105) — the number of segments.

Each of the next n lines contains two integers li and ri (1 ≤ li ≤ ri ≤ 109) — the i-th segment.

Output

Print two distinct indices i and j such that segment ai lies within segment aj. If there are multiple answers, print any of them. If no answer exists, print -1 -1.

Examples

Input

5
1 10
2 9
3 9
2 3
2 9


Output

2 1


Input

3
1 5
2 6
6 20


Output

-1 -1

Note

In the first example the following pairs are considered correct:

  * (2, 1), (3, 1), (4, 1), (5, 1) — not even touching borders; 
  * (3, 2), (4, 2), (3, 5), (4, 5) — touch one border; 
  * (5, 2), (2, 5) — match exactly. 
import java.util.*;

public class JavaApplication74 {

    
    public static void main(String[] args) {
        Scanner Sc=new Scanner(System.in);
        
        int n=Sc.nextInt();
        int x=-1;
        int y=-1;
        int p=-1,q=-1,r=-1,s=-1;
        int arr[][]=new int[n][2];
        int brr[][]=new int[n][2];
        
        for(int i=0;i<n;i++)
        {
            arr[i][0]=Sc.nextInt();
            arr[i][1]=Sc.nextInt();
            brr[i][0]=arr[i][0];
            brr[i][1]=arr[i][1];
        }
        
        int max=Integer.MIN_VALUE;
        
        Arrays.sort(arr, (a, b) -> Double.compare(a[0], b[0]));
        
        for(int i=0;i<n;i++)
        {
            
           if(i!=n-1 && arr[i][0]==arr[i+1][0])
           {
              if(arr[i][1]>arr[i+1][1])
              {
                 p=arr[i+1][0];
                 q=arr[i+1][1];
                 r=arr[i][0];
                 s=arr[i][1];
                 
              }
              else
              {
                 r=arr[i+1][0];
                 s=arr[i+1][1];
                 p=arr[i][0];
                 q=arr[i][1];
              }
              
           
              break;
           }
          
           if(arr[i][1]<=max)
           {
              y=i+1;
              p=arr[i][0];
              q=arr[i][1];
              break;
           }
          if(max<arr[i][1])
          {
              max=arr[i][1];
              x=i+1;
              r=arr[i][0];
              s=arr[i][1];
          }
        
            
        }
        
     
        int flag=0;
        for(int i=0;i<n;i++)
        {
            if(brr[i][0]==p & brr[i][1]==q && flag==0)
            {
                y=i+1;
                flag=1;
                continue;
            }
            if(brr[i][0]==r & brr[i][1]==s)
            {
                x=i+1;
            }
        }
        
        if(y==-1)
        {
            System.out.println("-1 -1");
        }
        else
        {
            System.out.println(y+" "+x);
        }
        
              
        
        
    }
    
}
