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 翻译