def foll(n,m,k):
    if n<m :
        n,m=m,n
    left=1
    right = n * m
    while left<right:
        mid = (left+right)//2
        count=0
        for i in range(1,n+1):
            count+=min(mid//i,m)
            if count>=k:
                break
        if count>=k:
            right=mid
        else:
            left=mid+1
    return left
n,m,k = map(int,input().split())
print(foll(n,m,k))