#include <bits/stdc++.h>
using namespace std;
int main() {
  long long x, y, m;
  while (scanf("%I64d%I64d%I64d", &x, &y, &m) != EOF) {
    if (x > m || y > m) {
      cout << "0" << endl;
      continue;
    }
    if (x < m && y < m && x <= 0 && y <= 0) {
      cout << "-1" << endl;
      continue;
    }
    long long ans = 0;
    if (x < 0 && y > 0) {
      ans = ceil((double)-x / y);
      x += ans * y;
    } else if (x > 0 && y < 0) {
      ans = ceil((double)-y / x);
      y += ans * x;
    }
    while (x < m && y < m) {
      if (x <= y) {
        x += y;
        ans++;
      } else {
        y += x;
        ans++;
      }
    }
    cout << ans << endl;
  }
  return 0;
}
