#B3709. [语言月赛202302] 最澄澈的空与海

[语言月赛202302] 最澄澈的空与海

题目背景

材料 1:

请小心地计算下面的算式:138108÷6=?138 - 108 \div 6 = ?

你大概难以置信,这个算式的计算结果竟然是 5!5!

材料 2:

对于一个正整数 xx,$x! = 1 \times 2 \times \cdots \times (x - 1) \times x$。我们称 x!x!xx 的阶乘。

特别的,0!=10! = 1

显然,「138108÷6=5138 - 108 \div 6 = 5」是错误的,而「(138108)÷6=5(138 - 108) \div 6 = 5」是正确的,所以对材料 1 中的内容,部分读者会认为「作者没有搞清加减乘除的运算优先级关系而犯错」。

然而,材料 1 最后一行的叹号并不是标点符号,而是材料 2 提到的「阶乘」。

考虑到这一点,「$138 - 108 \div 6 = 5! = 1 \times 2 \times \cdots \times 5 = 120$」显然就是正确的了。

题目描述

有关「上述等式为何正确」的问题解决了,然而「如何构造出上述那种让人啼笑皆非的正确等式」成为了一个新的问题。

我们认为这个问题太难了,因此我们把解决这个问题的任务交给了你,相信你可以完成这个任务。

我们会给你一个整数 nn,请你帮助求出一组整数 x,y,zx, y, z,满足 xy÷z=n!x - y \div z = n!(xy)÷z=n(x - y) \div z = n


实际上可以发现,当 z=2z = 2 时,原式变为 $\begin{cases} x - \cfrac y2 = n! \\ \cfrac x2 - \cfrac y2 = n\end{cases}$,这时,只需要让 x=2×(n!n)x = 2 \times (n! - n),并根据任何一个式子计算出 yy 的值(为 2×(n!2n)2 \times (n! - 2n)),即可构成一组合法答案。这样的答案是总是存在的。

因此,按照我们给出的这种方式直接输出 2×(n!n)2 \times (n! - n)2×(n!2n)2 \times (n! - 2n)22 即可通过本题,难点便来到了计算出对应的值上。

当然,你也可以使用其他方法计算出符合要求的 x,y,zx, y, z

输入格式

输入共一行一个整数 nn

输出格式

输出共一行三个整数 x,y,zx, y, z,代表满足 xy÷z=n!x - y \div z = n!(xy)÷z=n(x - y) \div z = n 的一组整数。

三者两两之间以一个空格隔开。

5
230 220 2

1
2 1 1

提示

数据规模与约定

对于 100%100\% 的数据,保证 0n110 \leq n \leq 11

我们会使用自定义校验器检验你的答案是否正确,因此如果有多组答案,你可以输出其中任意一组。

你需要保证 x,y,zx, y, z 均为整数且 1018x,y1018-10 ^ {18} \leq x, y \leq 10 ^ {18}1z10181 \leq z \leq 10 ^ {18},否则自定义校验器将直接认定您的答案错误。

请注意式子中的 ÷\div 不是向下取整的整除,这显然意味着你需要保证 y÷zy \div z(xy)÷z(x - y) \div z 为整数。

容易证明,满足条件的 x,y,zx, y, z 一定存在。