#include <bits/stdc++.h>
using namespace std;
long long ar[90] = {0, 1, 1, 2};
long long x, y, ans, z;
long long fn() {
  if (x < 0 && y <= 0) {
    if (z > y) return -1;
    return 0;
  }
  if (z <= y) return 0;
  long long cnt = 0, sum = 0, s = 0, p = 1, q = 2, i1 = 0, i2 = 1;
  if (x < 0) cnt = (abs(x) / y), x = x + cnt * y;
  long long a = x, b = y;
  for (int i = 0; i < 1000; i++) {
    sum = (a + b);
    cnt++;
    if (sum >= z || b >= z) return cnt;
    b = max(a, b);
    a = sum;
  }
  return -1;
}
int main() {
  int t, tc = 0;
  cin >> x >> y >> z;
  if (x > y) swap(x, y);
  ans = fn();
  cout << ans << endl;
  return 0;
}
