#include "testlib.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; using mint=modint1000000007; const int MAXT=10; const int MAXN=1000000000; const int MAXC=1000000000; int main(int argc, char* argv[]){ registerValidation(argc, argv); int t=inf.readInt(1, MAXT); inf.readEoln(); while(t--){ int n=inf.readInt(3, MAXN); inf.readSpace(); int c=inf.readInt(1, MAXC); inf.readEoln(); vector vd; for(int i=1; i*i<=n; i++){ if(n%i==0){ vd.push_back(i); if(i*i vc(m); mint ans=mint(c).pow(n)*n; for(int i=m-1; i>=0; i--){ vc[i]=n/vd[i]; for(int j=i+1; j