부분 직사각형 넓이의 합

각 N에 대해 N x N 격자 안의 모든 정수 좌표 부분 직사각형 넓이의 합을 구한다.

쉬움3수학조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

좌표 (0,0)(0, 0)부터 (N,N)(N, N)까지의 격자를 생각하자.

네 꼭짓점이 정수 좌표이며 0r1<r2N0 \le r_1 < r_2 \le N0c1<c2N0 \le c_1 < c_2 \le N을 만족하는 모든 부분 직사각형 [r1,r2]×[c1,c2][r_1, r_2] \times [c_1, c_2]를 고려한다. 각 부분 직사각형의 넓이는 (r2r1)×(c2c1)(r_2 - r_1) \times (c_2 - c_1)이다. 다음 의사코드는 모든 부분 직사각형의 넓이의 합을 구한다.

sum = 0
for r1 = 0 to N-1
  for c1 = 0 to N-1
    for r2 = r1+1 to N
      for c2 = c1+1 to N
        sum = sum + (r2-r1)*(c2-c1)
print(sum)

NN이 주어졌을 때 이 합을 효율적으로 계산하라. 입력에는 여러 테스트 케이스가 주어진다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 다음 TT개의 줄에는 각 테스트 케이스의 정수 NN이 하나씩 주어진다. NN은 64비트 정수 범위에 들어가며 0N92233720368547758070 \le N \le 9223372036854775807을 만족한다.

출력

각 테스트 케이스마다 위에서 정의한 합을 한 줄에 출력한다. 합은 64비트 정수 범위를 넘을 수 있으므로 임의 정밀도 정수로 출력해야 한다.