#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
template <class T>
int size(T x) {
  return x.size();
}
int main() {
  long long x, y, m;
  cin >> x >> y >> m;
  long long cnt = 0;
  if (max(x, y) < m) {
    if (x < 0 && y > 0) {
      long long k = -x / y;
      x += y * k;
      cnt += k;
    } else if (y < 0 && x > 0) {
      long long k = -y / x;
      y += x * k;
      cnt += k;
    }
  }
  while (max(x, y) < m) {
    if (x <= 0 && y <= 0) {
      cnt = -1;
      break;
    }
    if (x < y) {
      x += y;
    } else {
      y += x;
    }
    cnt++;
  }
  cout << cnt << endl;
  return 0;
}
