#include using namespace std; typedef signed long long ll; #undef _P #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x>T; while(T--) { ll N,M; cin>>N>>M; if(N>=M) { _P("0\n"); continue; } ll pp=prime(M); if(pp==1) { ll a=1; for(i=1;i<=M-N;i++) { a=(a*i)%M; } _P("%lld\n",(M-a)%M); } else { if(N>=M/2) { _P("0\n"); } else { ll a=1; for(i=1;i<=N;i++) { a=(a*i)%M; } _P("%lld\n",a); } } } } int main(int argc,char** argv){ string s;int i; if(argc==1) ios::sync_with_stdio(false); FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin); solve(); return 0; }