数列计算
题目描述
音乐乐队Be Geeks!的名字并非偶然,因为所有成员都是真正的数学怪才。除此之外,他们喜欢研究数列的各种性质。下面是他们感兴趣的一个例子:
- 设A是一个非空正整数序列,A=(a1,a2,…,an)。
- G(i,j)=gcd(ai,ai+1,…,aj),其中1≤i≤j≤n。
- M(i,j)=max(ai,ai+1,…,aj),其中1≤i≤j≤n。
- P(i,j)=G(i,j)×M(i,j),其中1≤i≤j≤n。
- F(A)=∑P(i,j)[1≤i≤j≤n]。
给出一个序列A,你需要求出F(A)mod1000000007的值。
输入格式
第一行包含一个整数n,代表序列A的长度。
第二行包含n个整数a1,a2,…,an,代表序列A。
输出格式
输出一个整数,代表F(A)mod1000000007的值。
数据范围与提示
- 对于30%的数据,1≤n≤1000;
- 对于100%的数据,1≤n≤200000,1≤ai≤109。
样例
4
1 2 3 4
50
5
2 4 6 12 3
457
见array3.in
见array3.out