CF222C Reducing Fractions
题目描述
为了迷惑对手,银河帝国用一种不同寻常的方式表示分数。分数被表示为两个整数集。第一个集合中所有数字的乘积作为分数的分子,第二个集合中所有数字的乘积作为分数的分母。然而,事实证明,用这种方式处理分数的程序并不完善,它们缺少对分数约分操作的支持。请实现这个操作,帝国将铭记你的贡献。
输入格式
第一行包含两个用空格分隔的整数 $n$ 和 $m$($1 \leq n,m \leq 10^5$),分别表示分子对应集合中的数的个数和分母对应集合中的数的个数。
第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, ..., a_n$($1 \leq a_i \leq 10^7$),这些数相乘的结果为分子。
第三行包含 $m$ 个用空格分隔的整数 $b_1, b_2, ..., b_m$($1 \leq b_i \leq 10^7$),这些数相乘的结果为分母。
输出格式
输出与输入相同格式的数据。输出的两个集合中的数的个数 $n_{out}, m_{out}$ 必须满足 $1 \leq n_{out}, m_{out} \leq 10^5$,各个集合的数 $a_{out,i}, b_{out,i}$ 必须满足 $1 \leq a_{out,i}, b_{out,i} \leq 10^7$。
同一行内的数字用空格分隔。输出的分数必须已经约分,即不存在大于 $1$ 的整数 $x$ 使得分子的数和分母的数都能被 $x$ 整除。如果有多种合法答案,输出任意一种都可以。
说明/提示
在第一个样例中,分子为 $1000$,分母为 $500$。如果用分子和分母的最大公约数($500$)对 $1000/500$ 进行约分,得到结果为 $2/1$。
在第二个样例中,分子为 $2000$,分母为 $300$。约分后(最大公约数为 $100$),结果为 $20/3$。
由 ChatGPT 5 翻译