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 * 2 * 3 * ... * n\)
Input
- Input gồm nhiều dòng
- Mỗi dòng chứa số nguyên dương \(n(n \leq 10^6)\)
- Input kết thúc bởi số \(0\)
Output
- Gồm nhiều dòng, mỗi dòng tương ứng với mỗi test
- Mỗi dòng chứa phần dư \(F[n!]\) cho \(10^7 +7\)
Example
Input
4
5
1
0
Output
30
90
1