#1477. [L3-3] pp 大丰收

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 7k1danWhen

题目描述

「一觉醒来,全世界 osu! 玩家的 pp* 暴涨了一万倍」

在 osu! 的最近更新中,玩家们可以创建自己的 team。Meguhine、currentId、ouxig 和 EIainaa 共同组建了 Ouxig Fan Club,简称 OUXI。

osu! 中玩家的 pp 上限为 。OUXI 现有 名成员,其中第 名成员的 pp 值为 。ouxig 在团队内部策划了一个猜 pp 游戏,Meguhine 和 currentId 都参与其中。

Meguhine 和 currentId 知道玩家 pp 上限是 ,但不知道第 名成员的 pp 值

游戏规则如下:

  1. ouxig 等概率地从 随机选取两个整数 (允许相同);
  2. Meguhine 获知第 位成员的 pp 值
  3. currentId 获知第 位成员的 pp 值
  4. 双方共同得知选出的两位成员的「sync pp」值 表示按位与运算)。

即,Meguhine 只知道 ,currentId 只知道

游戏从 Meguhine 开始,双方轮流向对方陈述,直到某一方准确推断出 的大小关系为止。

每轮当前玩家必须选择以下行为之一:

  • 声明"我不知道",接着对方开始下一轮;
  • 宣告"我知道了",并正确指出 的大小关系(即判断 ),随即游戏结束。

Meguhine 与 currentId 能记忆所有对话内容,并且他们绝顶聪明,仅在完全确定时才会作出宣告。

现在 ouxig 想知道这个游戏结束的期望轮数。可以证明的,期望轮数一定是一个有理数 。请告诉他答案对 998244353 取模后的结果。

一个有理数 对质数 取模的值 ,定义为满足 的唯一整数解


Performance Points 又简称 pp,是 osu! 内致力于准确量化玩家实力的指标。(摘自 osu!wiki

输入格式

第一行是两个整数 ,分别代表 OUXI 有多少名玩家以及 osu! 的玩家 pp 上限;

第二行是 个整数,第 个整数代表第 名玩家有 pp 。

输出格式

共一行,一个整数,代表游戏期望结束的轮数对 998244353 取模的值。

样例

样例输入 1

3 3
1 2 3

样例输出 1

221832080

样例解释 1

期望结束轮数是 ,对 998244353 取模即 221832080。

样例输入 2

4 114514191
114514 1919810 259972 25676572

样例输出 2

311951369

数据范围与提示

对于所有测试数据,满足: