#P17348. [ECNA 2025] How Many Balls?

[ECNA 2025] How Many Balls?

题目描述

如果一个袋子里有 rr 个红球和 gg 个绿球,从中随机抽取两个球,那么恰好得到两种颜色各一个球的概率为

P(r,g)=2rg(r+g)(r+g1).P(r,g)=\frac{2rg}{(r+g)(r+g-1)}.

编写程序,读入一个已经约分到最简形式的有理数 p/qp/q,判断是否存在 r106r\le 10^6grg\ge r,使得 P(r,g)=p/qP(r,g)=p/q

输入格式

输入仅一行,包含两个以空格分隔的正整数 p,qp,q,其中 p>0p>02p1q10002p-1\le q\le 1000。保证 ppqq 互质。

输出格式

如果存在解,输出满足上述条件的两个正整数 r,gr,g,以空格分隔。如果有多个解,输出 rr 最小的那一个。对于固定的 rr,至多存在一个 grg\ge r 满足 P(r,g)=p/qP(r,g)=p/q

如果不存在 r106r\le 10^6 的解,输出 impossible

12 25
9 16
8 25
impossible