Let $LCM(x, y)$ be the minimum positive integer that is divisible by both $x$ and $y$. For example, $LCM(13, 37) = 481$, $LCM(9, 6) = 18$.

You are given two integers $l$ and $r$. Find two integers $x$ and $y$ such that $l \le x < y \le r$ and $l \le LCM(x, y) \le r$.


-----Input-----

The first line contains one integer $t$ ($1 \le t \le 10000$) — the number of test cases.

Each test case is represented by one line containing two integers $l$ and $r$ ($1 \le l < r \le 10^9$).


-----Output-----

For each test case, print two integers:

  if it is impossible to find integers $x$ and $y$ meeting the constraints in the statement, print two integers equal to $-1$;  otherwise, print the values of $x$ and $y$ (if there are multiple valid answers, you may print any of them). 


-----Example-----
Input
4
1 1337
13 69
2 4
88 89

Output
6 7
14 21
2 4
-1 -1

Difficulty: interview

Starter code:

Solutions:
t = int(input())
while t:
    l, r = list(map(int, input().split()))
    if l * 2 <= r:
        print(l, 2 * l)
    else:
        print(-1, -1)
    t -= 1


# for _ in range(1):
for _ in range(int(input())):
    a, b = list(map(int, input().split()))
    # n = int(input())
    # arr = list(map(int, input().split()))
    # s = input()
    if 2 * a > b:
        print(-1, -1)
    else:
        print(a, 2 * a)



for _ in range(int(input())):
    l,r = list(map(int,input().split()))
    if l*2 > r:
        print(-1, -1)
    else:
        print(l,l*2)

t = int(input())

for _ in range(t):
    l, r = [int(x) for x in input().split()]
    if 2*l <= r:
        print(l, 2*l)
    else:
        print(-1, -1)


'''
    Auther: ghoshashis545 Ashis Ghosh
    College: jalpaiguri Govt Enggineering College

'''
from os import path
import sys
from heapq import heappush,heappop,heapify
from functools import cmp_to_key as ctk
from collections import deque,defaultdict as dd 
from bisect import bisect,bisect_left,bisect_right,insort,insort_left,insort_right
from itertools import permutations
from datetime import datetime
from math import ceil,sqrt,log,gcd
def ii():return int(input())
def si():return input().rstrip()
def mi():return map(int,input().split())
def li():return list(mi())
abc='abcdefghijklmnopqrstuvwxyz'
mod=1000000007
# mod=998244353
inf = float("inf")
vow=['a','e','i','o','u']
dx,dy=[-1,1,0,0],[0,0,1,-1]

def bo(i):
    return ord(i)-ord('a')

file=1


def solve():

    for _ in range(ii()):

        l,r=mi()
        if(r<2*l):
            print('-1 -1')
        else:
            print(l,2*l)
    


        

        



    










        
def __starting_point():

    if(file):

        if path.exists('input.txt'):
            sys.stdin=open('input.txt', 'r')
            sys.stdout=open('output.txt','w')
        else:
            input=sys.stdin.readline
    solve()
__starting_point()

for _ in range(int(input())):
    l, r = map(int, input().split())

    if l * 2 <= r:
        print(l, l*2)
    else:
        print(-1, -1)

from sys import stdin, stdout

# from collections import defaultdict
# from collections import OrderedDict
# from collections import Counter
# from queue import deque
# from math import log2


def arrinp():
    return [*list(map(int, stdin.readline().split(' ')))]


def mulinp():
    return list(map(int, stdin.readline().split(' ')))


def intinp():
    return int(stdin.readline())


def inp():
    return stdin.readline()


def solution():
    l, r = mulinp()
    if r < 2*l:
        print(-1, -1)
        return
    else:
        print(l, 2*l)
        return


testcases = 1
testcases = intinp()
for _ in range(testcases):
    solution()


import io
import os
import sys
from collections import deque, defaultdict


def _input():
    x = sys.stdin.readline()
    x = x.replace('\r', '')
    x = x.replace('\n', '')
    return x


if 'STDINPUT' not in os.environ:
    input = _input
else:
    print('Standard input')


def solve():
    l, r = [int(x) for x in input().split()]
    if l * 2 > r:
        print(-1, -1)
    else:
        print(l, l*2)
    


test_cases = True
if test_cases:
    _q = int(input())
    for _ in range(_q):
        solve()
else:
    solve()


import math
t = int(input())
for g in range(t):
    l,r = list(map(int,input().split()))
    if(r<2*l):
        print("-1","-1")
    else:
        print(l,2*l)


import sys
#q=2
q=int(input())
for i in range(q):
    n,m=[int(j) for j in sys.stdin.readline().split()]
    #n=int(sys.stdin.readline())
    #a=[int(j) for j in sys.stdin.readline().split()]
    #a=sys.stdin.readline().strip()
    if n*2>m:
        print(-1,-1)
    else:
        print(n,n*2)

t = int(input())
for _ in range(t):
    a,b = map(int,input().split())
    if a*2 > b:
        print(-1, -1)
    else:
        print(a, 2 * a)

for _ in range(int(input())):
    n,m = map(int,input().split())
    if m>=2*n:
        print(n,2*n)
    else:
        print("-1 -1")

# Contest No.: Edu92
# Problem No.: A
# Solver:      JEMINI
# Date:        20200729

import sys
import heapq

def main():
    t = int(input())
    for _ in range(t):
        a, b = map(int, sys.stdin.readline().split())
        if b < 2 * a:
            print(-1, -1)
        else:
            print(a, 2 * a)



    return

def __starting_point():
    main()
__starting_point()

import sys
input = sys.stdin.readline

T = int(input())

for t in range(T):
    L, R = [int(_) for _ in input().split()]
    if R < L*2:
        print(-1, -1)
    else:
        print(L, L*2)


for _ in range(int(input())):
    l, r = map(int, input().split())
    if r < l*2:
        print(-1, -1)
        continue
    print(l, l*2)

for __ in range(int(input())):
    a, b = list(map(int, input().split()))
    if a * 2 <= b:
        print(a, 2 * a)
    else:
        print(-1, -1)

t = int(input())

for _ in range(t):
    #n = int(input())
    l, r = list(map(int, input().split()))
    #l = list(map(int, input().split()))

    if 2*l <= r:
        print(l, 2*l)
    else:
        print(-1, -1)


import sys
input = sys.stdin.readline
for nt in range(int(input())):
	l,r = map(int,input().split())
	if 2*l<=r:
		print (l,2*l)
	else:
		print (-1,-1)

import sys
import math
#from queue import *
#import random
#sys.setrecursionlimit(int(1e6))
input = sys.stdin.readline
 
############ ---- USER DEFINED INPUT FUNCTIONS ---- ############
def inp():
    return(int(input()))
def inara():
    return(list(map(int,input().split())))
def insr():
    s = input()
    return(list(s[:len(s) - 1]))
def invr():
    return(list(map(int,input().split())))
################################################################
############ ---- THE ACTUAL CODE STARTS BELOW ---- ############

t=inp()

for _ in range(t):
	l,r=invr()
	
	if l*2>r:
		print(-1,-1)
	else:
		print(l,2*l)

				


import sys

readline = sys.stdin.readline
readlines = sys.stdin.readlines
ns = lambda: readline().rstrip()
ni = lambda: int(readline().rstrip())
nm = lambda: map(int, readline().split())
nl = lambda: list(map(int, readline().split()))
prn = lambda x: print(*x, sep='\n')


def solve():
    a, b = nm()
    if a * 2 > b:
        print(-1, -1)
    else:
        print(a, 2*a)
    return


# solve()

T = ni()
for _ in range(T):
    solve()


# Some people dream of success, while others wake up and work hard at it. Napoleon Hill
# by : Blue Edge - Create some chaos

for _ in range(int(input())):
    l,r=list(map(int,input().split()))
    if r<2*l:
        print(-1,-1)
    else:
        print(l,2*l)


for _ in range(int(input())):
    l,r = map(int,input().split())
    if(r<2*l):
        print("-1","-1")
    else:
        print(l,2*l)

for tc in range(int(input())):
	L, R = map(int, input().split())
	if L * 2 <= R:
		print (L, L * 2)
	else:
		print ("-1 -1")