CF1108B Divisors of Two Integers

题目描述

最近你收到了两个正整数 $x$ 和 $y$。你已经忘记了它们的具体数值,但你还记得一个包含了 $x$ 的所有约数(包括 $1$ 和 $x$)以及 $y$ 的所有约数(包括 $1$ 和 $y$)的混合排列列表。如果 $d$ 同时是 $x$ 和 $y$ 的约数,那么在列表中会出现两次 $d$。 例如,如果 $x=4$,$y=6$,那么给定的列表可以是 $[1, 2, 4, 1, 2, 3, 6]$ 的任意排列。一些可能的列表有:$[1, 1, 2, 4, 6, 3, 2]$,$[4, 6, 1, 1, 2, 3, 2]$ 或 $[1, 6, 3, 2, 4, 1, 2]$。 你的任务是还原出一组正整数 $x$ 和 $y$,使得它们的所有约数合并后(顺序可以不同)与给定的列表完全一致。 保证一定存在解,即给定的约数列表对应某一组正整数 $x$ 和 $y$。

输入格式

第一行包含一个整数 $n$($2 \le n \le 128$),表示 $x$ 和 $y$ 的约数总数。 第二行包含 $n$ 个整数 $d_1, d_2, \dots, d_n$($1 \le d_i \le 10^4$),其中 $d_i$ 是 $x$ 或 $y$ 的约数。如果某个数同时是 $x$ 和 $y$ 的约数,则在列表中出现两次。

输出格式

输出两个正整数 $x$ 和 $y$,使得它们的所有约数合并后(顺序可以不同)与给定的整数列表完全一致。保证一定存在解。

说明/提示

由 ChatGPT 4.1 翻译