メルカリ競プロコンテスト2024
コンテスト日時
2024/10/05 (Sa) 13:45 - 15:45

C - ディスプレイ

Milk
2
s
1024
MB
300

問題文

高さ $H$ cm、幅 $W$ cmのディスプレイがあります。このディスプレイ内を点が動くスクリーンセーバーを開発しました。ディスプレイの左下の座標を $(0, 0)$ とし、ディスプレイの左下から右に $x$ cm、上に $y$ cm移動した点の座標を $(x, y)$ と表します。

時刻 $0$ 秒に点は $(s_x, s_y)$ にあります。はじめ、点は $(s_x, s_y)$ から $(s_x + 1, s_y + 1)$ 方向に秒速 $\sqrt[]{2}$ cmで真っすぐ進み出します。そして、この点は普通の光と同じように真っすぐ進み、画面端に到達すると同じ速度で反射します。
例えば、$W=4, H=3, T=7, s_x=2, s_y=0$ の時は、以下のような軌跡を描き、 $T$ 秒後には $(1, 1)$ に存在しています。

初期座標 $(s_x, s_y)$ が与えられるので時刻 $T$ 秒での点の座標を求めてください。

制約

  • 入力は全て整数
  • $1 \leq W, H, T \leq 10^{12}$
  • $0 \leq s_x \leq W$
  • $0 \leq s_y \leq H$

入力

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

$W$ $H$ $T$
$s_x$ $s_y$

出力

答えの座標が $(ans_x, ans_y)$ のとき次の形式で出力せよ。
なお、答えが $32$ bit 整数に収まらないことがある事に注意せよ。

$ans_x$ $ans_y$
入力例 1
4 3 7 2 0
出力例 1
1 1
入力例 2
3 3 10 0 1
出力例 2
2 1
入力例 3
35946642085 995999573746 320560596816 35502468318 256917219223
出力例 3
3403355716 577477816039
提出
C++23 (g++ 12.2.0)