def gcd(a, b):
while b:
a, b = b, a % b
return a
def findNthNumber(a, b, d, n, l, r):
m = l + (r - l)//2
t = m//a + m//b - m//(a*b/d)
z = min(m % a, m % b, m % (a*b/d))
print(a, b, d, n, l, r, m, t, z)
if t == n:
return m
elif t > n:
return findNthNumber(a, b, d, n, l, m)
else:
return findNthNumber(a, b, d, n, m, r)
T = int(input())
for t in range(T):
a, b, n = map(int, input().split())
d = gcd(a, b)
if a % b == 0:
print(b*n)
elif b % a == 0:
print(a*n)
else:
print(findNthNumber(a, b, d, n, n, min(a, b)*n))
ZGVmIGdjZChhLCBiKToKICAgIHdoaWxlIGI6CiAgICAgICAgYSwgYiA9IGIsIGEgJSBiCgogICAgcmV0dXJuIGEKCmRlZiBmaW5kTnRoTnVtYmVyKGEsIGIsIGQsIG4sIGwsIHIpOgogICAgbSA9IGwgKyAociAtIGwpLy8yCgogICAgdCA9IG0vL2EgKyBtLy9iIC0gbS8vKGEqYi9kKQogICAgeiA9IG1pbihtICUgYSwgbSAlICBiLCBtICUgKGEqYi9kKSkKICAgIHByaW50KGEsIGIsIGQsIG4sIGwsIHIsIG0sIHQsIHopCiAgICBpZiB0ID09IG46CiAgICAgICAgcmV0dXJuIG0KICAgIGVsaWYgdCA+IG46CiAgICAgICAgcmV0dXJuIGZpbmROdGhOdW1iZXIoYSwgYiwgZCwgbiwgbCwgbSkKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIGZpbmROdGhOdW1iZXIoYSwgYiwgZCwgbiwgbSwgcikKCgpUID0gaW50KGlucHV0KCkpCgpmb3IgdCBpbiByYW5nZShUKToKICAgIGEsIGIsIG4gPSBtYXAoaW50LCBpbnB1dCgpLnNwbGl0KCkpCiAgICBkID0gZ2NkKGEsIGIpCiAgICBpZiBhICUgYiA9PSAwOgogICAgICAgIHByaW50KGIqbikKICAgIGVsaWYgYiAlIGEgPT0gMDoKICAgICAgICBwcmludChhKm4pCiAgICBlbHNlOgogICAgICAgIHByaW50KGZpbmROdGhOdW1iZXIoYSwgYiwgZCwgbiwgbiwgbWluKGEsIGIpKm4pKQ==