#include #include #include using namespace std; typedef long long LL; const int N = 10000005; const int M = 1000005; bool prime[N]; int p[N]; int k; void isprime() { k = 0; memset(prime,true,sizeof(prime)); for(int i=2;i>= 1; a = a * a % m; } return ans; } int main() { int n,m,t; isprime(); scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); LL cnt = 0; for(int i=0;i < k;i++) { if(p[i] > n) break; cnt += n / p[i]; } LL ans = quick_mod(2,cnt,m); printf("%I64d\n",ans); } return 0; }