#include #include #include using namespace std; using m998=atcoder::modint998244353; constexpr array ftbl=[]{arrayret;ret[0]=1;for(int i=1;i<202501;i++){ret[i]=(ret[i-1]*i)%998244353;}return ret;}(); m998 f(int n,int r){return(m998(ftbl[n])*(n-2*r+1))/(m998(ftbl[r])*ftbl[n-r+1]);} int main(){int T;cin>>T;while(T--){ int N,A;cin>>N>>A; m998 ans=0; for(int i=1;i*i<=A;i++){ if(A%i!=0)continue; int r1=N-1-A/i,r2=N-1-i; if(r1>=0&&r1%2==0)ans+=f(N-1,r1/2); if(r2>=0&&r2%2==0&&r1!=r2)ans+=f(N-1,r2/2); } cout<