#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:16777216")
void Solve() {
  long long a, b, m, c, d;
  unsigned long long res = 0;
  cin >> a >> b >> m;
  c = a + b;
  if (a + b <= ((a) < (b) ? (a) : (b)) && a < m && b < m) {
    cout << "-1" << endl;
    return;
  }
  if (a >= m || b >= m) {
    cout << res;
    return;
  }
  if (b == ((b) < (a) ? (b) : (a)) && a != b) {
    {
      (a) += (b);
      (b) = (a) - (b);
      (a) -= (b);
    };
  }
  if (a < 0 || b < 0) {
    res = (-a / b);
    a = a - (a / b) * b;
    if (a < 0) {
      a += b;
      res++;
    }
  }
  while (true) {
    if (a >= m || b >= m) {
      cout << res;
      return;
    }
    c = a + b;
    a = b;
    b = c;
    res++;
  }
}
int main() {
  Solve();
  return 0;
}
