求最小的有 $2^{500500}$ 个因子的数字,对500500503取模.

根据因数分解定理,把大数拆成很多小的质数,最后因子数就是这些质数次方+1的乘积.
注意到这个因子只是2的倍数,意味着质数有且只有2^n这一种情况,所以每个质数转移只有一种代价,那就是从2^x转移到2^{x+1},于是线筛1e7得到质数之后贪心选取后面的大质数扔到前面即可.