RT
inline void EXGCD(LL a,LL b)
{
if(b==0)
{
X=1;Y=0;
}
else
{
EXGCD(b,a%b);
LL p=X; X=Y;
Y=p-(a/b)*Y;
}
}
inline LL inve(LL num)
{
EXGCD(num,MOD);
return X;
}
inline void Get_Factor(LL a)
{
LL i;
for(i=2;i*i<=a;i++)
{
if(a%i==0)
{
K++;F[K].num=i;
while(a%i==0)
{
F[K].cnt++;
a/=i;
}
}
}
if(a>1)
{
K++;F[K].num=a;
F[K].cnt=1;
}
}