传送门
设 $n=\prod_{i=1}^{m}p_{i}^{k_i}$
对每个质因子单独考虑,如果 $a$ 的这个质因子 $p_i$ 的次数小于 $k_i$,那么 $b$ 的这个质因子次数必须为 $k_i$
考虑 $a$ 这个质因子有多少种的取值,如果取 $p_{i}^{0}$ 到 $p_{i}^{k_i-1}$ 那么 $b$ 都为 $p_{i}^{k_i}$
那么这种情况对 $a$ 的贡献就是 $\sum_{j=0}^{k_i-1}p_{i}^{j}$
如果 $a$ 取 $p_{i}^{k_i}$ ,那么 $b$ 可以取 $p_{i}^{0}$ 到 $p_{i}^{k_i}$,一共有 $k_i+1$ 对
综合一下,$a$ 的这个质因子可以取的总和为 $\sum_{j=0}^{k_i}p_{i}^{j}+k_{i} \cdot p_{i}^{k_i}$
因为 $a$ 是各个质因子乘起来的结果,所以根据乘法原理 $a$ 的所有取值的总和为 $\prod_{i=1}^{m}(\sum_{j=0}^{k_i}p_{i}^{j}+k_{i} \cdot p_{i}^{k_i})$
$b$ 也同理,然后发现这样把 $a,b$ 看成了有序数对,除了 $(n,n)$ 以外都算了两次,所以把和加上 $(n+n)$ 再除以 $2$ 就是答案了
$\sum_{j=0}^{k_i}p_{i}^{j}$ 就是个等比数列求和的式子,公式直接套就行了
注意是在模意义下,套式子的时候负数要转正,除法要转逆元