← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

var reader *bufio.Reader
var writer *bufio.Writer

func gcd(a, b int64) int64 {
	for b != 0 {
		a, b = b, a%b
	}
	return a
}

func solve() {
	var a, b, c, d int64
	fmt.Fscan(reader, &a, &b, &c, &d)

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ab := a * b
	
	bestX, bestY := int64(-1), int64(-1)
	
	
	
	
	
	var i int64
	for i = 1; i*i <= ab; i++ {
		if ab%i != 0 {
			continue
		}
		
		for _, pair := range [][2]int64{{i, ab / i}, {ab / i, i}} {
			g1, g2 := pair[0], pair[1]
			
			
			x := ((a / g1) + 1) * g1
			
			y := ((b / g2) + 1) * g2
			
			if x <= c && y <= d {
				
				if (x*y)%ab == 0 {
					bestX, bestY = x, y
					break
				}
			}
		}
		if bestX != -1 {
			break
		}
	}
	
	if bestX == -1 {
		
		
		
		
		
		
		
		
		
		fmt.Fprintln(writer, -1, -1)
		return
	}
	
	fmt.Fprintln(writer, bestX, bestY)
}

func main() {
	reader = bufio.NewReader(os.Stdin)
	writer = bufio.NewWriter(os.Stdout)
	defer writer.Flush()
	
	var t int
	fmt.Fscan(reader, &t)
	for ; t > 0; t-- {
		solve()
	}
}