def lcm(x,y): def gcd(x, y): if y == 0: return x else: return gcd(y,x%y) return (x*y)//gcd(x,y) def slv(n,x,y): return n//x+n//y a,b,k = map(int,input().split()) x = lcm(a,b) ac = x//a bc = x//b s = ac+bc-1 y = k//s z = k%s ans = x*y addans = 0 l,h = -1,x+1 if z != 0: while True: if slv((l+h)//2,a,b) == z: addans = (l+h)//2 break elif slv((l+h)//2,a,b)>z: h = (l+h)//2 else: l = (l+h)//2 addans = addans-min(addans%a,addans%b) print(ans+addans)