Tổng số ước các ước (Hard)

Xem PDF

Nộp bài


Điểm: 10 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M

Tác giả:
Dạng bài

Hàm \(d(n)\) biểu thị số ước của một số nguyên \(n\). Ví dụ \(d(24) = 8\) (Các ước của \(24\) là \(1, 2, 3, 4, 6, 8, 12, 24\)).

Hàm \(f(n)\) biểu thị tổng số ước các ước của \(n\). Ví dụ \(f(24) = d(1) + d(2) + d(3) + d(4) + d(6) + d(8) + d(12) + d(24) = 30.\)

Cho số tự nhiên \(n\), hãy tính \(f(n!)\), trong đó \(n!= 1 \times 2 \times 3 \times ... \times n\)

Input

  • Dòng đầu tiên chứa số nguyên dương \(T\) \((T \le 10^6)\) ứng với số lượng bộ dữ liệu.
  • \(T\) dòng tiếp theo, mỗi dòng chứa số nguyên dương \(n\) \((n \leq 10^6)\).

Output

  • Gồm \(T\) dòng, mỗi dòng chứa phần dư \(f(n!)\) cho \(10000007\) tương ứng với mỗi bộ test.

Sample Input

3
4
5
1

Sample Output

30
90
1

Ràng buộc

  • \(30\%\) số test tương ứng với \(1 \le T \leq 10^3.\)
  • \(70\%\) số test còn lại tương ứng với \(1 \le T \le 10^6.\)