Codecraft-17 and Codeforces Round 391 (Div. 1 + Div. 2, combined)
E
Bash Plays with Functions
Codeforces
2500
原题
← DF →
翻译中…

Bash got tired on his journey to become the greatest Pokemon master. So he decides to take a break and play with functions.

翻译中…

Bash defines a function $*f*_{0}(*n*)$, which denotes the number of ways of factoring $*n*$ into two factors $*p*$ and $*q*$ such that $*gcd*(*p*, *q*) = 1$. In other words, $*f*_{0}(*n*)$ is the number of ordered pairs of positive integers $(*p*, *q*)$ such that $*p*·*q* = *n*$ and $*gcd*(*p*, *q*) = 1$.

翻译中…

But Bash felt that it was too easy to calculate this function. So he defined a series of functions, where $*f*_{*r* + 1}$ is defined as:

翻译中…

image

翻译中…

Where $(*u*, *v*)$ is any ordered pair of positive integers, they need not to be co-prime.

翻译中…

Now Bash wants to know the value of $*f*_{*r*}(*n*)$ for different $*r*$ and $*n*$. Since the value could be huge, he would like to know the value modulo $10^{9} + 7$. Help him!

翻译中…

Input

翻译中…

The first line contains an integer $*q*$ ($1 ≤ *q* ≤ 10^{6}$) — the number of values Bash wants to know.

翻译中…

Each of the next $*q*$ lines contain two integers $*r*$ and $*n*$ ($0 ≤ *r* ≤ 10^{6}$, $1 ≤ *n* ≤ 10^{6}$), which denote Bash wants to know the value $*f*_{*r*}(*n*)$.

翻译中…

Output

翻译中…

Print $*q*$ integers. For each pair of $*r*$ and $*n*$ given, print $*f*_{*r*}(*n*)$ modulo $10^{9} + 7$ on a separate line.

翻译中…

样例

Input #1
5
0 30
1 25
3 65
2 5
4 48
Output #1
8
5
25
4
630
InputCopy OutputCopy
题目信息
题号
757E
时间限制
3 s
内存限制
256 MB
标签
暴力
组合数学
动态规划
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。