U653472 跳格子游戏(困难版)

题目背景

行百里者半九十,精准的规划比盲目的奔跑更为重要。

题目描述

小明在玩一个坐标轴跳格子游戏。他现在位于坐标轴的起点 $0$ 处。 小明手中有两张卡片: - **卡片 A**:可以让小明向前跳跃 $a$ 个单位距离(注意:卡片 A 只能向前,不能向后)。 - **卡片 B**:可以让小明向前或向后跳跃 $b$ 个单位距离。 小明可以无限次使用这两张卡片。现在给定一个目标坐标 $k$,小明希望能恰好跳到坐标 $k$ 处。 但是,卡片 A 非常珍贵,小明希望在保证能到达目标 $k$ 的前提下,尽可能少地使用卡片 A。 请你编写一个程序,计算出最少需要使用多少次卡片 A。如果不论如何都无法跳到坐标 $k$,请输出 `-1`。

输入格式

输入共一行,包含三个正整数 $a, b, k$,分别表示两张卡片的跳跃距离和目标坐标。

输出格式

请你判断小明是否能到达目标 $k$,如果能到达,输出使用卡片 A 的最少次数,如果不能,输出 `-1`。

说明/提示

### 数据范围 - $1 \le a, b, k \le 10^{9}$