Dreamoon loves summing up something for no reason. One day he obtains two integers a and b occasionally. He wants to calculate the sum of all nice integers. Positive integer x is called nice if <image> and <image>, where k is some integer number in range [1, a].

By <image> we denote the quotient of integer division of x and y. By <image> we denote the remainder of integer division of x and y. You can read more about these operations here: http://goo.gl/AcsXhT.

The answer may be large, so please print its remainder modulo 1 000 000 007 (109 + 7). Can you compute it faster than Dreamoon?

Input

The single line of the input contains two integers a, b (1 ≤ a, b ≤ 107).

Output

Print a single integer representing the answer modulo 1 000 000 007 (109 + 7).

Examples

Input

1 1


Output

0


Input

2 2


Output

8

Note

For the first sample, there are no nice integers because <image> is always zero.

For the second sample, the set of nice integers is {3, 5}.
a,b=map(int,raw_input().split())
t=(a*(a+1)/2)%(1000000007)
s2=(a*b*(b-1))/2+(b*b*(b-1)*t)/2
print s2%(1000000007)

##m=raw_input()
##n=raw_input()
##p1={}
##p2=[]
##def mov(ma, pos, p):
##    if pos==len(ma):
##        p1[p]=p1.get(p,0)+1
##        return
##    if ma[pos]=='+':
##        p+=1
##        mov(ma, pos+1, p)
##        return
##    elif ma[pos]=='-':
##        p-=1
##        mov(ma,pos+1,p)
##        return
##    else:
##        mov(ma,pos+1,p+1)
##        mov(ma,pos+1,p-1)
##        return
##def m2(ma, pos, p):
##    if pos==len(ma):
##        p2.append(p)
##        return
##    if ma[pos]=='+':
##        p+=1
##        m2(ma, pos+1, p)
##        return
##    elif ma[pos]=='-':
##        p-=1
##        m2(ma,pos+1,p)
##        return
##mov(n,0,0)
##m2(m,0,0)
###print p1
###print p2
##s=0
##for i in p1.keys():
##    s+=p1[i]
##print float(p1.get(p2[0],0))/float(s)

##n,m=map(int,raw_input().split())
##steps2=n/2
##steps1=(n-steps2*2)
##while (steps1+steps2)%m!=0:
##    steps1+=2
##    steps2-=1
##if steps2<0 or steps1<0:
##    print "-1"
##else:
##    print steps1+steps2
