Let us call a pair of integer numbers *m*-perfect, if at least one number in the pair is greater than or equal to *m*. Thus, the pairs (3, 3) and (0, 2) are 2-perfect while the pair (-1, 1) is not.

Two integers *x*, *y* are written on the blackboard. It is allowed to erase one of them and replace it with the sum of the numbers, (*x* + *y*).

What is the minimum number of such operations one has to perform in order to make the given pair of integers *m*-perfect?
Single line of the input contains three integers *x*, *y* and *m* ( - 10<sup class="upper-index">18</sup> ≤ *x*, *y*, *m* ≤ 10<sup class="upper-index">18</sup>).

Please, do not use the %lld specifier to read or write 64-bit integers in C++. It is preffered to use the cin, cout streams or the %I64d specifier.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2015-06-04 22:02:32
# @Author  : Your Name ([email protected])
# @Link    : http://example.org
# @Version : $Id$

a=[]
for x in input().split():
	a.append(int(x))
x=a[0]
y=a[1]
z=a[2]
if x==0 and y==0 and z==0:
	print(0)
elif (z-x)>0 and y>0:
	if((z-x)%y==0):
		print(int((z-x)/y))
	else:
		print(-1)
elif(z-x)<0 and y<0:
	if(abs(z-x)%abs(y)==0):
		print(int((z-x)/y))
	else:
		print(-1)
else:
	print(-1)


