#include <bits/stdc++.h>
using namespace std;
ifstream fin("a.txt");
const int infi = 1e8;
const int N = 111;
long long f[N] = {1, 1};
int main() {
  long long x, y, z, a, b, m, ans, tem;
  int i;
  for (i = 2; i < N; i++) f[i] = f[i - 1] + f[i - 2];
  while (cin >> x >> y >> m) {
    a = max(x, y);
    b = min(x, y);
    if (a >= m) {
      puts("0");
      continue;
    }
    if (a <= 0) {
      puts("-1");
      continue;
    }
    tem = 0;
    if (b < 0 && a > 0) b = -b, tem = b / a + 1, x = a - (b % a), y = a;
    z = -infi;
    ans = 0;
    if (x < y) swap(x, y);
    while (z < m) {
      ans++;
      z = f[ans] * x + f[ans - 1] * y;
    }
    cout << ans + tem << endl;
  }
  return 0;
}
