#include<iostream>usingnamespace std;constint mod =9901;intqmi(int a,int k){
a %= mod;int res =1;while(k){if(k &1) res = res * a % mod;
a = a * a % mod;
k >>=1;}return res;}intsum(int p,int k){if(k ==0)return1;if(k %2==0)return(p % mod *sum(p, k -1)% mod +1)% mod;returnsum(p, k /2)% mod *(1+qmi(p, k /2+1))% mod;}intmain(){int A, B;
cin >> A >> B;int res =1;for(int i =2; i <= A; i ++){int s =0;while(A % i ==0){
s ++;
A /= i;}if(s) res = res *sum(i, s * B)% mod;}if(!A) res =0;
cout << res << endl;return0;}
POJ - 1845#include <iostream>using namespace std;const int mod = 9901;int qmi(int a, int k){ a %= mod; int res = 1; while (k) { if (k & 1) res = res * a % mod; a = a * a % mod; k >>= 1; }