Cô giáo bí bài (Bản dễ)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, C, C#, C++, Clang, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, Pascal, Pypy, Pypy 3, Python
Điểm: 1200 Thời gian: 10.0s Bộ nhớ: 256M Input: math.inp Output: math.out

(Được trích từ câu chuyện có thật của p2o2HuaGiaBao.)
Một hôm, cô giáo của p2o2HuaGiaBao giảng lý thuyết về phân tích thừa số nguyên tố trên trường. Vì anh ta cảm thấy quá dễ nên đã lấy bài khác ra làm. Khi cô giáo thấy điều đó, cô giáo liền gọi cho phụ huynh và cho anh ta viết bản kiểm điểm.
Sau đó, cô giáo liền cho một bài toán khó để kiểm tra anh ta. Mà lỡ cho bài khó quá, nên không biết làm như thế nào nhưng p2o2HuaGiaBao vẫn giải được bình thường. Các bạn hãy giúp cô giáo tính nhé!
Cho \(q\) truy vấn, mỗi truy vấn là một số nguyên dương \(k\) \((1\le k\le 10^{6})\). Hãy tính tổng các ước số của \(k\). Biết rằng ước của \(k\)\(x\) khi và chỉ khi \(k\) \(\vdots\) \(x\). Vì kết quả có thể rất lớn nên bạn cần phải \(\text{mod}\) \(10^9+7\).

Input

  • Dòng đầu tiên gồm một số nguyên dương \(q\) \((1\le q\le 10^6)\)
  • \(q\) dòng tiếp theo, mỗi dòng gồm \(1\) số nguyên dương \(k\) \((1\le k\le 10^6)\)

Output

  • Gồm \(q\) dòng, với mỗi dòng là đáp án của bài toán.

Example

Test 1

Input
5
4
17
6
8
10
Output
7
18
12
15
18
Note
  • Với truy vấn đầu tiên (\(k = 4\)) thì có \(\text{Ư}(4)=\{ 1; 2; 4 \}\), tức tổng các ước của nó là \(1+2+4=7\)
  • Với truy vấn thứ hai (\(k = 17\)) thì có \(\text{Ư}(17)=\{ 1; 17 \}\), tức tổng các ước của nó là \(1+17=18\)
  • Với truy vấn thứ ba (\(k = 6\)) thì có \(\text{Ư}(6)=\{ 1; 2; 3; 6 \}\), tức tổng các ước của nó là \(1+2+3+6=12\)
  • Với truy vấn thứ tư (\(k = 8\)) thì có \(\text{Ư}(6)=\{ 1; 2; 4; 8 \}\), tức tổng các ước của nó là \(1+2+4+8=15\)
  • Với truy vấn thứ năm (\(k = 10\)) thì có \(\text{Ư}(10)=\{ 1; 2; 5; 10 \}\), tức tổng các ước của nó là \(1+2+5+10=18\)

Test 2

Input
1
100
Output
217

Bình luận (1)

Mới nhất
Tải bình luận...