atcoder#AGC001B. [AGC001B] Mysterious Light

[AGC001B] Mysterious Light

配点 : 500500

問題文

高橋君は 11 辺の長さが NN33 枚の鏡を正三角形状に組み合わせました。 三角形の頂点をそれぞれ a,b,ca, b, c とします。

高橋君は、辺 abab 上の頂点 aa から XX の点から、辺 bcbc と平行に不思議な光を発射しました。 不思議な光は、普通の光と同じように真っすぐ進み、鏡に当たると反射するのですが、不思議な光がすでに通った点に当たったときにも反射をします。 例えば、N=5,X=2N = 5, X = 2 のとき、不思議な光の軌跡は図の黄色い矢印のようになります。

btriangle.png

このように不思議な光を発射した時、不思議な光は必ず発射した点に戻ってくることが証明できます。 このとき、光の軌跡の長さが全体でいくらになるかを求めて下さい。

制約

  • 2N10122 \leq N \leq 10^{12}
  • 1XN11 \leq X \leq N-1
  • NNXX はいずれも整数である。

部分点

  • N1000N \leq 1000 を満たすデータセットに正解した場合は、300300 点が与えられる。
  • 追加制約のないデータセットに正解した場合は、上記とは別に 200200 点が与えられる。

入力

入力は以下の形式で標準入力から与えられる。

NN XX

出力

光の軌跡全体の長さを出力せよ。

5 2
12

問題文中の図のとおりです。 光の軌跡の長さは全体で 2+3+2+2+1+1+1=122+3+2+2+1+1+1 = 12 となります。