相信爱笑的人运气不会太差!
 题目的意思是:给出l,r, k,求l到r区间内每个数的k次方的约数个数的和,再对998244353取余.
 这题用到的技巧还真是多啊,乱搞暴力肯定GG.
 首先我们来看看怎么求解约数的个数.一个数可以分解成多个质数的的乘积.假设p为质数(1不是质数啊,怎么每次都讲不听呢),所以有:
 本以为通过素数筛法筛了素数之后对l-r区间内每个数进行素数分解就OK了,没想到还是TLE了.这里要用到一个技巧,因为我们直接对区间的数进行分解的话,当一个数是很大的质数时就会增加很多不必要的计算判断,所以我们要将质数乘以一定的倍数使它增长到区间内,如果倍数在区间内那么直接将区间内的数分解即可,之后再以当前质数的一倍递增,这样就可以分解完区间内所有能被当前质数分解的数.并且质数之积肯定是小于等于r的.
 通过上面的方法分解完成后循环一遍将每个数的d(n^k)%mod加起来取模即可.
 using namespace std;
 typedef long long LL;
 int t;
 void Prime(){                        //快速素数筛法,普通素数筛法也能过,这个题我用两种筛法时间差不了多少
 ans=0;
 printf("%lld\n", ans);