#include <bits/stdc++.h>
using namespace std;
const long long N = 200;
const double eps = 1e-6;
const double pi = 4 * atan(1);
long long n, t;
long long mx, mn, m;
int solve() {
  cin >> mx >> mn >> m;
  if (mx < mn) swap(mx, mn);
  if (mx >= m)
    printf("0\n");
  else {
    long long k = 0;
    if (mx > 0) k = (mx - mn) / mx;
    mn = (mx * k) + mn;
    for (int i = 1; i <= 300; i++) {
      long long x = mn + mx;
      if (mn > m || mx > m) break;
      mn = max(mn, x);
      if (mx < mn) swap(mn, mx);
      if (mx >= m) {
        printf("%lld\n", i + k);
        return 0;
      }
    }
    printf("-1\n");
  }
  return 0;
}
int main() { return solve(); }
