#include <bits/stdc++.h>
using namespace std;
int main() {
  unsigned long long int ops = 0;
  long long int x, y, m;
  cin >> x >> y >> m;
  if (x >= m || y >= m) {
    cout << 0 << endl;
    return 0;
  }
  if (x <= 0 && y <= 0) {
    cout << -1 << endl;
    return 0;
  }
  long long int mi = min(x, y), ma = max(x, y);
  long long int dif = ma - mi;
  ops = dif / ma;
  if (dif % ma != 0) ops++;
  mi += ops * ma;
  swap(mi, ma);
  while (mi < m && ma < m) {
    mi += ma;
    swap(mi, ma);
    ops++;
  }
  cout << ops << endl;
  return 0;
}
