Hoán Vị Dễ Dàng

Xem PDF

Điểm: 400 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hàm \(F(a)\) với a là một dãy số nguyên \(n \geq 1\) phần tử \(a_1\), \(a_2\), \(a_3\), ... \(a_n\) được định nghĩa thông qua đoạn code sau :

    F(a) = 0;
    Duyệt i từ 2 đến n
    {
       k = 0;
       Duyệt e từ 1 đến i-1
       {
           Nếu a[e] < a[i] thì
           {
               k = k + 1;
           }
       }
       F(a) = F(a) + k * a[i];
    }

cuom1999 thích những thứ nhỏ bé (ví dụ như Small), do đó cuom1999 muốn ami tính hàm F với tất cả các dãy số tự nhiên có độ dài bằng 2. Quá dễ, đáp án luôn là +∞. Còn ami thích những ghứ vĩ đại, do đó ami muốn các bạn tính tổng tất cả các hàm F(a) với a là một hoán vị n phần tử. Vì kết quả có thể lớn, các bạn cần in ra đáp số chia dư 1000000007.

Input

  • Dòng đầu tiên chứa 1 số nguyên dương \(q\) là số câu hỏi.
  • \(q\) tiếp theo, mỗi dòng dòng chứa 1 số nguyên dương \(n\).

Output

  • In ra \(q\) dòng, mỗi dòng ứng với một câu hỏi.

Scoring

  • Subtask \(1\) (\(10\%\) số điểm): \(1 \leq n \leq 10\), \(q\) = 1.

  • Subtask \(2\) (\(30\%\) số điểm): \(1 \leq n \leq 100\), \(q\) = 1.

  • Subtask \(3\) (\(60\%\) số điểm): \(1 \leq n \leq 10^6\), \(1 \leq q \leq 10^6\).

Example

Test 1

Input
4
1
2
3
4
Output
0
2
24
240
Note

\(F ([1, 2, 3]) = 2*1 + 3*2 = 8\)

\(F ([1, 3, 2]) = 3 * 1 + 2 * 1 = 5\)

\(F ([2, 3, 1]) = 3 * 1 = 3\)

\(F ([2, 1, 3]) = 3 * 2 = 6\)

\(F ([3, 1, 2]) = 2\)

\(F ([3, 2, 1]) = 0\)

Do đó đáp án \(= 8 + 5 + 3 + 6 + 2 = 24\)


Bình luận

Không có bình luận nào.