【问题描述】
给定 n 和长度为 n 的正整数序列 a。
定义一次操作为,选择一个数 ai 和质数 p,将 ai 赋值为 ai×p 或 pai,必须满足赋值后 ai 为正整数。
定义区间 l,r 的代价 val(l,r) 为,使 al,al+1,⋯,ar 全都相等的最小操作次数。
请求出 ∑l=1n∑r=lnval(l,r),对 109+7 取模。
【输入格式】
第一行一个数 n。
第二行 n 个,表示序列 a。
【输出格式】
输出一行一个整数表示答案。
【样例输入1】
2
2 4
【样例输出1】
1
【样例输入2】
3
63 28 56
【样例输出2】
10
【样例输入3】
10
1 2 3 4 5 6 7 8 9 10
【样例输出3】
319
【样例4】
见下发文件,该样例满足测试点 12,13 的限制。
【样例5】
见下发文件,该样例满足测试点 19,20 的限制。
【数据范围及约定】
对于 100% 的数据,1≤n≤2×105,1≤ai≤106。
测试点编号 |
n≤ |
ai≤ |
特殊性质 |
1,2 |
10 |
无 |
3,4 |
50 |
5∼7 |
200 |
8∼10 |
1000 |
11 |
200 |
106 |
ai=2k |
12,13 |
1000 |
14∼16 |
2×105 |
17,18 |
5×104 |
无 |
19,20 |
2×105 |