#GESP1093. [GESP202412 五级T1] 奇妙数字

[GESP202412 五级T1] 奇妙数字

题目背景

2024 年 12 月 GESP C++ 五级编程第 1 题

题目描述

小杨认为一个数字 xx 是奇妙数字当且仅当 x=pax = p ^ a,其中 pp 为任意质数且 aa 为正整数。例如,8=238 = 2 ^ 3,所以 88 是奇妙数字,而 66 不是。

对于一个正整数 nn,小杨想要构建一个包含 mm 个奇妙数字的集合 {x1,x2,,xm}\{ x_{1}, x_{2}, \dots, x_{m} \},使其满足以下条件:

  • 集合中不包含相同的数字;
  • x1×x2××xmx_{1} \times x_{2} \times \dots \times x_{m}nn 的因子(即这 mm 个数字的乘积是 nn 的因子)。

小杨希望集合包含的奇妙数字尽可能多,请你帮他计算出满足条件的集合最多包含多少个奇妙数字。

输入格式

第一行包含一个正整数 nn,含义如题面所示。

输出格式

输出一个正整数,代表满足条件的集合最多包含的奇妙数字个数。

样例

128
3

样例解释

符合题意的一个包含 33 个奇妙数字的集合是 {2,4,8}\{2, 4, 8\}。首先,因为 2=212 = 2^14=224 = 2^28=238 = 2^3,所以它们均为奇妙数字。同时,2×4×8=642 \times 4 \times 8 = 64128128 的因子。由于无法找到包含 44 个奇妙数字且满足条件的集合,因此答案为 33

数据范围与提示

子任务编号 数据点占比 nn
11 20%20\% 10\le 10
22 1000\le 1000
33 60%60\% 1012\le 10^{12}

对于全部数据,保证 2n10122 \le n \le 10^{12}