def count_le(x):
    # 统计乘法表中小于等于x的个数
    # 对于每一行,要有j * i ≤ x   ⇒   j ≤ x // i,同时最多有m列
    return sum(min(m, x // i) for i in range(1, n + 1))


def bi_search(n, m, k):
    left, right = 1, n * m
    while left < right:
        mid = (left + right) // 2
        if count_le(mid) < k:
            left = mid + 1
        else:
            right = mid
    return right

# 读取输入
n, m, k = map(int, input().split())
print(bi_search(n, m, k))