Goffi and GCD

Accepts: 34
Submissions: 413
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
Goffi is doing his math homework and he finds an equality on his text book: \(\gcd(n - a, n) \times \gcd(n - b, n) = n^k\). Goffi wants to know the number of (\(a, b\)) satisfy the equality, if \(n\) and \(k\) are given and \(1 \le a, b \le n\). Note: \(\gcd(a, b)\) means greatest common divisor of \(a\) and \(b\).
Input
Input contains multiple test cases (less than 100). For each test case, there's one line containing two integers \(n\) and \(k\) (\(1 \le n, k \le 10^9\)).
Output
For each test case, output a single integer indicating the number of (\(a, b\)) modulo \(10^9+7\).
Sample Input
2 1
3 2
Sample Output
2
1
Hint
For the first case, (2, 1) and (1, 2) satisfy the equality.