No.846 メダル

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 通常問題
タグ : / 解いたユーザー数 134
作問者 : chocoruskchocorusk / テスター : zunda1stzunda1st
0 ProblemId : 2860 / 出題時の順位表

問題文

yuki国である数学のコンテストが行われ、参加者全員に相異なる順位がつきました。このコンテストでは、次のように参加者の一部にメダルが授与されます。

  • 参加者の総数を $N$ とする。
  • 上位 $\lceil N/P\rceil$ 人に金メダルが授与される。
  • 上位 $\lceil N/Q\rceil$ 人のうち、まだメダルを授与されていない人全員に銀メダルが授与される。
  • 上位 $\lceil N/R\rceil$ 人のうち、まだメダルを授与されていない人全員に銅メダルが授与される。

ただし、実数 $x$ に対し $\lceil x\rceil$ で $x$ 以上の整数のうち最小のもの (つまり $x$ の小数点以下を切り上げた値) を表します。

ラスク君は、参加者の総数 $N$ は知りませんが、金、銀、銅メダルを授与された人数がそれぞれ $A$, $B$, $C$ であることをニュースで聞きました。

参加者の総数 $N$ としてありうる値が存在するか判定し、存在するなら $N$ の最小値と最大値をそれぞれ求めてください。

入力

$P\ Q\ R$
$A\ B\ C$

  • $2\leq R < Q < P \leq 10^9$
  • $0\leq A, B, C\leq 10^9$
  • $A > 0$
  • 入力はすべて整数である。

出力

参加者の総数 $N$ としてありうる値が存在しなければ、$-1$ を単独で出力せよ。存在する場合は、最小値と最大値をこの順に空白区切りで出力せよ。

サンプル

サンプル1
入力
12 4 2
9 16 25
出力
99 100

例えば参加者が $100$ 人の場合、

  • まず、上位 $\lceil 100/12\rceil =9$ 人に金メダルが授与されます。
  • 次に、上位 $\lceil 100/4\rceil =25$ 人のうち金メダルを授与されていない $16$ 人に銀メダルが授与されます。
  • 次に、上位 $\lceil 100/2\rceil =50$ 人のうち金、銀メダルを授与されていない $25$ 人に銅メダルが授与されます。

サンプル2
入力
6 3 2
3 3 4
出力
-1

金、銀、銅メダルの人数がそれぞれ $3$ 人、$3$ 人、$4$ 人となることはありえません。ニュースは嘘です。

サンプル3
入力
7 5 3
1 0 0
出力
1 3

サンプル4
入力
789123456 456789123 123456789
157 114 729
出力
123333332212 123456789000

答えが $32$ ビット整数型に収まらない場合があることに注意してください。

提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。