#include <bits/stdc++.h>
using namespace std;
long long int n, m, i;
void fm(void) {}
map<string, int> v;
int main() {
  long long a, b, c = 0, f = 0;
  scanf("%lld%lld%lld", &a, &b, &m);
  if (a < b) swap(a, b);
  if (a < m && a <= 0) {
    printf("-1\n");
    return 0;
  }
  if (a > m) {
    printf("0\n");
    return 0;
  }
  while (1) {
    if (a >= m || b >= m) {
      printf("%lld\n", c);
      return 0;
    }
    if (b < 0) {
      long long p = (-b) / a;
      c += p;
      b += p * a;
    }
    b += a;
    c++;
    if (a < b) swap(a, b);
  }
  printf("-1");
}
