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.
s=input()
d=[]
d=s.split()
x=int(d[0])
y=int(d[1])
m=int(d[2])
if(x==0 and y<=0):
    print(-1)
    exit()
if(y==0 and x<=0):
    print(-1)
    exit()
if(x<=0 and y<=0):
    print(-1)
    exit()
j=0
t=[x,y]
while(  t[0]<m and t[1]<m ):
    d3 = t[0] + t[1]
    l1 = d3 + t[0]
    l2 = d3 + t[1]
    print(f'{d3}   {l1}    {l2}')
    l3 = max(l1, l2)
    t = [d3, max(t)]
    print(f'{l3}   {t}')
    j += 1
    print(j)

print(j)

