A Modular Arithmetic Challenge

Time Limit: 1000ms
Memory Limit: 131072KB
This problem will be judged on PKU. Original ID: 3530
64-bit integer IO format: %lld      Java class name: Main

Description

Given four positive integers M, D, L, R, your task is to find the minimal non-negative integer x which satisfies L ≤ ( D × x mod M ) ≤ R, where mod is the remainder operation

Input

The first line contains one number N -- the number of test cases.(1 ≤ N ≤ 100)
Each of the following N lines contains four integers M, D, L, R ( 1≤ M, D, L, R ≤ 2,000,000,000)

Output

For each test case, print the minimal x. If there is no such x, print "-1" instead.

Sample Input

4
4 3 1 1
4 2 1 1
4 2 2 4
4 4 4 4

Sample Output

3
-1
1
-1

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .