[ARC174] C - Catastrophic Roulette

C - Catastrophic Roulette

Time Limit: 2 sec / Memory Limit: 1024 MB

分数: 500 分

题面

有一个轮盘,它以相等的概率产生1到N之间的整数。
两个玩家使用它玩如下游戏:

  • 玩家轮流旋转轮盘。
    • 如果产生的整数之前未出现过,什么都不会发生。
    • 否则,旋转轮盘的玩家要支付1日元罚款。
  • 当所有N个整数都至少出现一次时,游戏立即结束。

对于每个第一个和第二个玩家,找到在游戏结束前支付的罚款金额的期望值,对998244353取模。

关于期望值对998244353取模

可以证明,该问题所求的期望值始终是有理数。此外,在这个问题的约束下,当期望值被表示为不可约分数时,保证不能被整除。

现在,存在一个唯一的整数,其中,满足。将作为答案提供。

限制条件

  • N是一个整数,使得

输入

输入以以下格式从标准输入中给出:

输出

按指定格式输出两个整数。

第一个整数是第一个玩家支付的罚款金额的期望值,第二个整数是第二个玩家支付的罚款金额的期望值,以取模表示。


输入样例 1

1

输出样例 1

0 0

对于这个输入,
当第一个玩家旋转轮盘时,它总是产生1,立即结束游戏。
因此,第一个玩家和第二个玩家支付的罚款金额的期望值都是0。


输入样例 2

2

输出样例 2

332748118 665496236

对于这个输入,。以下是游戏的一种可能进程:

  • 第一个玩家旋转轮盘,产生2。什么都不发生。
  • 第二个玩家旋转轮盘,产生2。第二个玩家支付1日元罚款。
  • 第一个玩家旋转轮盘,产生2。第一个玩家支付1日元罚款。
  • 第二个玩家旋转轮盘,产生1。什么都不发生。
  • 此时,1和2都已至少出现一次,游戏立即结束。
  • 在这个进程中,第一个玩家支付的罚款金额是1日元,第二个玩家支付的罚款金额也是1日元。

可以计算出,第一个玩家支付的罚款金额的期望值是日元,第二个玩家支付的罚款金额的期望值是日元。


输入样例 3

3

输出样例 3

174692763 324429416

0条搜索结果。