#include using namespace std; int x, y, n; double dfs(double x, double y, int k) { if (k == 1) return max(x, y) / min(x, y); double ans = 0x3f3f3f3f; for (int i = 1; i <= k / 2; i++) { ans = min({ans, max(dfs(x / k * i, y, i), dfs(x - x / k * i, y, k - i)), max(dfs(x, y / k * i, i), dfs(x, y - y / k * i, k - i))}); } return ans; } int main() { cin >> x >> y >> n; cout << fixed << setprecision(6) << dfs(x, y, n) << endl; return 0; }