AT_test001_e 平均値太郎の憂鬱
题目描述
太郎君想要计算从 $1$ 到 $N$ 的所有正整数的平均值,于是他将 $1$ 到 $N$ 的所有正整数的和除以 $N$。
然而,在计算 $1$ 到 $N$ 的正整数的和时,他漏加了某个正整数 $M$($M$ 是不超过 $N$ 的正整数),因此得出了错误的平均值。
更糟糕的是,太郎君还忘记了正整数 $N$ 的具体数值。
现在,只知道错误的平均值。请你找出所有可能的 $(N, M)$ 组合。输入以如下格式从标准输入给出。
> $X/Y$
- 输入仅一行,表示错误的平均值,以分数形式给出。
- 分数由整数 $X(1\leq X\leq 10^{18})$、`/`、整数 $Y(1\leq Y\leq 10^9)$ 依次组成,表示错误的平均值为 $X/Y$($X$ 和 $Y$ 均为正整数)。
- 注意,输入的分数不一定是最简分数。
请输出所有可能的 $N$ 和 $M$ 的组合,每组用空格隔开,按 $N$ 从小到大输出。
如果有多个解,每行输出一组 $N$ 和 $M$;如果没有解,则输出 `Impossible`。
最后请输出换行符。
输入格式
输入仅一行,表示错误的平均值,以 $X/Y$ 的形式给出。
输出格式
输出所有可能的 $N$ 和 $M$ 的组合,每组用空格隔开,按 $N$ 从小到大输出,每组一行。
如果没有解,则输出 `Impossible`。
最后输出换行符。
说明/提示
- $N$ 和 $M$ 均为正整数,且 $1\leq M\leq N$。
- $X$ 和 $Y$ 均为正整数,且 $1\leq X\leq 10^{18}$,$1\leq Y\leq 10^9$。
- 输入的分数不一定是最简分数。
- 输出时每组 $N$ 和 $M$ 一行,按 $N$ 从小到大排序。
- 若无解,输出 `Impossible` 并换行。
由 ChatGPT 4.1 翻译