#include <bits/stdc++.h>

using namespace std;

typedef long long LL;

LL F[50000];

int main()
{	
	ios::sync_with_stdio(false);
	int T;
	cin >> T;
	while (T--) {
		LL X, Y, A;
		cin >> X >> Y >> A;
		LL S = X * Y;
		F[0] = A % X;
		LL c0 = 0, POW = 1;
		for (int i = 1; i <= X; i++) {
			F[i] = F[i - 1] * 2 % X;
			POW = POW * 2 % S;
			if (F[i] == F[0]) {
				c0 = i;
				break;
			}
		}
		if (!c0) {
			puts("IMPOSSIBLE!");
			continue;
		}
		F[0] = A % S;
		LL c1 = 0;
		for (int i = 1; i <= Y; i++) {
			F[i] = F[i - 1] * POW % S;
			if (F[i] == F[0]) {
				c1 = i;
				break;
			}
		}
		if (!c1) {
			puts("IMPOSSIBLE!");
			continue;
		}
		printf("%lld\n", c0 * c1);
	}
	return 0;
}
