#include <bits/stdc++.h>
using namespace std;
int main(void) {
  long long x, y, m;
  cin >> x >> y >> m;
  if (max(x, y) >= m)
    cout << 0 << endl;
  else {
    if (x <= 0 && y <= 0)
      cout << -1 << endl;
    else {
      long long c = 0, step = 0;
      ;
      if (x > y) swap(x, y);
      if (x < 0) {
        step = -x / y + 1;
        c += step;
        x += y * step;
        while (max(x, y) < m) {
          if (x > y) swap(x, y);
          x += y;
          c++;
        }
        cout << c << endl;
      } else {
        while (max(x, y) < m) {
          if (x > y) swap(x, y);
          x += y;
          c++;
        }
        cout << c << endl;
      }
    }
  }
  return 0;
}
