luogu#P9836. 种树

种树

题目背景

小 Rf 不是很喜欢种花,但是他喜欢种树。

题目描述

路边有 nn 棵树,每棵树的 高度 均为正整数,记作 p1,p2pnp_1, p_2 \dots p_n

定义一棵树的 宽度 为它高度的正因数个数,这些树能覆盖的距离为它们宽度的乘积,你想请你的朋友们来乘凉,但你发现这些树能覆盖的距离不够多。

于是你买了总量为 ww 单位的神奇化肥。你可以施若干次肥,每次你可以使用 kk 单位化肥(要求 kk 必须为当前化肥量的正因数),让任意一棵树的高度乘上 kk,同时你剩余的化肥量也会除以 kk。每次施肥的树可任意选择,且每次施肥选择的树不需相同。

你需要最大化这些树所能覆盖的距离,并输出这个最大距离。答案对 998244353998244353 取模。

输入格式

从标准输入中读入数据。

第一行,两个正整数 nnww

第二行 nn 个正整数 p1,p2pnp_1, p_2 \dots p_n

输出格式

输出到标准输出。

仅一行一个整数,代表答案对 998244353998244353 取模后的结果。

3 60
8 243 250
2304

提示

【样例 1 解释】

  • 第一次施肥,向第一棵树施 1515 单位的肥,使其高度变成 120120,剩余 44 单位的化肥。
  • 第二次施肥,向第二棵树施 44 单位的肥,使其高度变成 972972,剩余 11 单位的化肥。
  • 这时候,三棵树的宽度分别为 16,18,816, 18, 8,所能覆盖的距离为 23042304,为最优解。

【样例 2】

见附件下的 plant/plant2.in\texttt{plant/plant2.in}plant/plant2.ans\texttt{plant/plant2.ans}


【样例 3】

见附件下的 plant/plant3.in\texttt{plant/plant3.in}plant/plant3.ans\texttt{plant/plant3.ans}


【数据范围】

测试点编号 nn \leq pip_i ww 单点分值
151 \sim 5 10410^4 =1=1 =1=1 11
6106 \sim 10 104\leq 10^4 33
111511 \sim 15 11 104\leq 10^4
162016 \sim 20 55 66
212521 \sim 25 10410^4 77

对于 100%100 \% 的数据,保证 1n1041 \leq n \leq 10^41pi1041 \leq p_i \leq 10^41w1041 \leq w \leq 10^4