import sys input = sys.stdin.readline def read_values(): return map(int, input().split()) def read_index(): return map(lambda x: int(x) - 1, input().split()) def read_list(): return list(read_values()) from fractions import Fraction # サンプルの時点で違うが、一応これは出すべきと思うので def main(): [d,a,b,k]=read_list() def calc(x): return x//d-(x//a*(a*b//d)//b) t=calc(10**100) if t <= k: print(-1) return l=-1 r=10**64 while l+1 k: r=m else: l=m print(r*d) return if __name__ == "__main__": t=int(input()) for _ in range(t): main()