跳到主要内容
图灵 OJTURING / ONLINE JUDGE

#F0952. Bash Plays with Functions

    ID: 958 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>枚举组合数学动态规划数论算法思想数学挑战难度共享题库Codeforces英文题面题目来源题面语言

Bash Plays with Functions

题目描述

E. Bash Plays with Functions
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

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 f0(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, f0(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 fr+1 is defined as:

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 fr(n) for different r and n. Since the value could be huge, he would like to know the value modulo 109+7. Help him!

Input

The first line contains an integer q (1≤q≤106)− the number of values Bash wants to know.

Each of the next q lines contain two integers r and n (0≤r≤106, 1≤n≤106), which denote Bash wants to know the value fr(n).

Output

Print q integers. For each pair of r and n given, print fr(n) modulo 109+7 on a separate line.

Example
Input
5
0 30
1 25
3 65
2 5
4 48
Output
8
5
25
4
630


题目来源:fps-www.educg.net-codeforce-1-2833.xml.zip;FPS 共享题包,题包内第 391 题。保留原作者与原赛事署名。