一天小Y由于打游戏不理女朋友导致被女朋友惩罚,要求他站在长方体的一个顶点,从这个顶点走到对立的另一个顶点,可是小Y只知道长方体里最长的那条边的边长,小Y很懒,如果要走到对立的另一个顶点他一定会选择最短的路线来走,假设这条路线是L,小Y想知道所有的可能性的L2的和,注意(4,5,6)和(6,5,4)属于同一种情况的长方体, 
 
						
	输入一个T作为组数,(T<=1000),对每组输入一个n(1<=n<=1014),代表了长方体里最长边的边长。
						
	对每组数据,输出所有可能的L2的和,答案可能会很大,请把答案对1000000007取模。
						
2
3
4
						160
440
						
	用到的公式给出: 
	13+23+33+43+53+。。。。+n3= [n(n+1)/2]² 
	1²+2²+3²+...+n²=n(n+1)(2n+1)/6. 
	  
	Tip:给出逆元函数代码: 
	/* 
	typedef long long ll; 
	const ll mod=1000000007; 
	ll my_pow(ll ds,ll cf) 
	{ 
	   ll sum=1; 
	   while(cf>0) 
	    { 
	       if(cf%2==1) 
	           sum=(sum*ds)%mod; 
	       ds=(ds*ds)%mod; 
	       cf/=2; 
	    } 
	   return sum; 
	} 
	ll inv(ll x) 
	{ 
	   return my_pow(x,mod-2); 
	} 
	*/ 
	(a/b) mod c =a*inv(b). 
	(a * b) mod c =((a mod c)* (b mod c)) mod c
 mod 代表取模。