hdu 3123
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main() {
int i,n,m,t;
__int64 sum,k;//必须用64位不然就错了
char s[1001];
scanf("%d",&t);
while(t--) {
scanf("%s%d",s,&m);
if(strlen(s)>6)
n=m-1;
else {
sscanf(s,"%d",&n);
if(n>=m)
n=m-1;
}
sum=1;
k=1;
for(i=1;i<=n;i++) {
k=(k*i)%m;
sum+=k;
sum%=k;
}
printf("%d\n",sum%m);
}
return 0;
}