#include <bits/stdc++.h>
using namespace std;
int main() {
  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 steps = 0;
  long long int maxt = max(x, y);
  if (x < -1) {
    steps += (min(y, m) - x) / y;
    x += (steps) * (y);
  }
  if (y < -1) {
    steps += (min(x, m) - y) / x;
    y += (steps)*x;
  }
  while (maxt < m) {
    steps++;
    long long int a = (x + y);
    if (x > y)
      y = a;
    else
      x = a;
    maxt = max(x, y);
  }
  cout << steps << endl;
  return 0;
  return 0;
}
