/*
* poj1808.c
* Created on: 2011-10-12
* Author: bjfuwangzhu
*/
/*
*> 考虑形如x2≡n(mod m)的同余式,其中m > 1,(m,n)=1。
*> 若此同余式有解,则n称为模m的二次剩余;若此同余式无解,则n称为模m的二次非剩余。
*> 设p是一个奇素数,则模p的二次剩余和二次非剩余个数正好是“一半对一半”,
*> 下表给出几个较小的素数模的二次剩余和非剩余:
*> > p 剩余 非剩余 > 3 1 2 > 5 1,4 2,3 > 7
*> 1,2,4 3,5,6 > 11 1,3,4,5,9 2,6,7,8,10 > 13
*> 1,3,4,9,11,12 2,5,6,7,8,11 > 此外,
*> 如果n是模p的二次剩余,则N^((p-1)/2)≡1(mod p) 。如果n是模p的二次非剩余,
*> 则N^((p-1)/2)≡-1(mod p) 。 */
#include<stdio.h>
#define LL long long
int modular_exp(int a, int b, int c) {
LL res, temp;
res = 1 % c, temp = a % c;
while (b) {
if (b & 1) {
res = res * temp % c;
}
temp = temp * temp % c;
b >>= 1;
}
return (int) res;
}
void solve(int a, int p) {
a = (a % p + p) % p;
if (modular_exp(a, (p - 1) / 2, p) == 1) {
puts("1");
return;
}
puts("-1");
}
int main() {
#ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif
int t, i, a, p;
scanf("%d", &t);
for (i = 1; i <= t; i++) {
scanf("%d %d", &a, &p);
printf("Scenario #%d:\n", i);
solve(a, p);
printf("\n");
}
return 0;
}