#include <bits/stdc++.h>
using namespace std;
const int INF = (int)2e+9;
const int MAX_N = 2e5 + 7;
long long maxl(long long a, long long b) {
  if (a > b) return a;
  return b;
}
int main() {
  long long a, b, c;
  cin >> a >> b >> c;
  if (a >= c || b >= c) {
    cout << 0;
    return 0;
  }
  if (a <= 0 && b <= 0) {
    cout << -1;
    return 0;
  }
  long long ans = 0;
  while (a < c && b < c) {
    if (a < 0 || b < 0) {
      if (a < 0) {
        ans += maxl(1, -a / b);
        a += maxl(-a / b, 1) * b;
      } else if (b < 0) {
        ans += maxl(-b / a, 1);
        b += maxl(-b / a, 1) * a;
      }
      continue;
    }
    (a < b) ? a += b : b += a;
    ans++;
  }
  cout << ans;
  return 0;
}
