#include #define int long long using namespace std; #define fi first #define sc second #define pii pair #define pb push_back #define umap unordered_map #define mset multiset #define pq priority_queue #define ull unsigned long long #define i128 __int128 const int maxn=5e6+10; const int mod=998244353; int n,cnt,fr[maxn],ifr[maxn]; int quickpow(int x,int y){ int p=1; for(int i=y;i;i>>=1) p=(p*((i&1)?x:1))%mod,x=(x*x)%mod; return p; } int inv(int x){ return quickpow(x,mod-2); } int C(int x,int y){ if(x<0||y<0||x-y<0) return 0; return fr[x]*ifr[y]%mod*ifr[x-y]%mod; } void solve(){ cin>>n,fr[0]=1; for(int i=1;i<=5e6;i++) fr[i]=(fr[i-1]*i)%mod; ifr[5000000]=inv(fr[5000000]); for(int i=4999999;~i;i--) ifr[i]=(ifr[i+1]*(i+1))%mod; while(n--){ int x,y; cin>>x>>y; for(int i=2;i*i<=x;i++){ while(x%i==0) x/=i,cnt++; } cnt+=(x>1); cout<>t; while(t--) solve(); return 0; } /* Samples input: output: THINGS TODO: ??freopen??????? ???? ???????????? */