Codeforces Round 188 (Div. 2)
C
Perfect Pair
Codeforces
未评级
原题
← BD →
翻译中…

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?

翻译中…

Input

翻译中…

Single line of the input contains three integers $*x*$, $*y*$ and $*m*$ ($- 10^{18} ≤ *x*$, $*y*$, $*m* ≤ 10^{18}$).

翻译中…

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.

翻译中…

Output

翻译中…

Print the minimum number of operations or "-1" (without quotes), if it is impossible to transform the given pair to the $*m*$-perfect one.

翻译中…

Note

翻译中…

In the first sample the following sequence of operations is suitable: (1, 2) image (3, 2) image (5, 2).

翻译中…

In the second sample: (-1, 4) image (3, 4) image (7, 4) image (11, 4) image (15, 4).

翻译中…

Finally, in the third sample $*x*$, $*y*$ cannot be made positive, hence there is no proper sequence of operations.

翻译中…

样例

Input #1
1 2 5
Output #1
2
InputCopy OutputCopy
Input #2
-1 4 15
Output #2
4
InputCopy OutputCopy
Input #3
0 -1 5
Output #3
-1
InputCopy OutputCopy
题目信息
题号
318C
时间限制
1 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。