2つのカップ
题意翻译
## 题目描述
现在有两个杯子,容量分别为A升和B升。
初始状态下,它们都是空的。现在给出几种操作,你需要让一个杯子里有C升水。
1.把一个杯子装满水。
2.把一个杯子倒空。
3.将一个杯子里的水全部倒入另一个杯子里。
现在给出A、B、K,请问在K个操作之内能得到多少个不同的C。
题目描述
[problemUrl]: https://atcoder.jp/contests/code-festival-2014-final/tasks/code_festival_final_j
水が $ A $ リットル入るカップと、水が $ B $ リットル入るカップが $ 1 $ つずつあります。
カップが空の状態から始めて、次のいずれかの操作を繰り返し行うことにより、いずれかのカップに水が $ C $ リットルたまる状態にしたいです。
- 一方のカップを水でいっぱいにする。
- 一方のカップを空にする。
- 一方のカップ $ X $ からもう一方のカップ $ Y $ に、 $ Y $ がいっぱいになるか $ X $ が空になるまで、水をこぼさずにうつす。
$ A,\ B,\ K $ が与えられるので、 $ K $ 回以内の操作で実現できる相異なる $ C $ は何通りあるかを求めなさい。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる.
> $ A $ $ B $ $ K $
- $ 1 $ 行目には,カップの容量を表す整数 $ A,B\ (1\ ≦\ A,\ B\ ≦\ 10^{10}) $ と、操作可能な回数を表す整数 $ K\ (0\ ≦\ K\ ≦\ 10^{10}) $ が与えられる。
输出格式
実現できる相異なる $ C $ は何通りあるかを求めよ。出力の最後には改行を入れること。
输入输出样例
输入样例 #1
3 4 2
输出样例 #1
4
输入样例 #2
7 3 0
输出样例 #2
1
输入样例 #3
174324 96581 5000
输出样例 #3
3220
说明
### Sample Explanation 1
まず、 $ 0 $ は初期状態で実現されています。 $ 3 $ および $ 4 $ は、それぞれの容量のカップの水を満たす、 $ 1 $ 回の操作で達成可能です。 $ 1 $ は、 容量 $ 4 $ のカップに入れた水を、空になっている容量 $ 3 $ のカップに移す、$ 2 $ 回の操作で実現できます。 $ 2 $ は、$ 2 $ 回の操作で実現することは出来ず、 $ 4 $ 回の操作が必要となります。
### Sample Explanation 2
操作不可能なので、空の状態、つまり $ 0 $ のみを実現することしかできません。