만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

격자 위의 직선

시간 제한8초메모리 제한1024 MB

요약
n×n 정수 격자에서 두 점 이상을 지나는 서로 다른 직선의 개수를 구하고, 각 질의 n마다 10^6+3으로 나눈 나머지를 출력합니다.
난이도

보통10점 중 7점

유형
수학, 정수론, 조합론
정답자
아직 제출이 없습니다

문제

n×nn \times n 크기의 정수 격자가 주어졌다고 하자. 예를 들어 {(i,j)}i=0,j=0n−1,n−1\{(i, j)\}_{i=0, j=0}^{n-1, n-1}과 같은 격자이다. lnl_n을 격자 위의 점 중 적어도 두 점을 지나는 서로 다른 직선의 개수라고 하자.

n=3n = 3일 때, 아래 그림과 같이 이런 직선은 정확히 20개이다.

주어진 모든 nn에 대해 lnl_n을 구하시오.

입력

첫째 줄에 질의의 개수 QQ가 주어진다. 둘째 줄에는 공백으로 구분된 정수 n1,…,nQn_1, \dots, n_Q가 주어진다.

출력

QQ개의 수 ln1,…,lnQl_{n_1}, \dots, l_{n_Q}를 각각 한 줄에 하나씩 출력한다. lkl_k는 클 수 있으므로 각 값을 106+310^6 + 3으로 나눈 나머지를 출력한다.

제한

1≤Q≤10001 \le Q \le 1000

1≤ni≤1071 \le n_i \le 10^7

예제1

  1. 예제 1

    입력
    3
    1 3 2
    
    예상 출력
    0
    20
    6