#include<bits/stdc++.h>
using namespace std;
#define int long long //delete if causing problems
#define F first
#define dbg(x)  cout<<#x<<" "<<x<<endl;
#define S second
#define setbit(n) __builtin_popcount(n)
#define all(x) x.begin() , x.end()
#define clr(x) memset(x,0,sizeof(x))
#define fast  ios_base::sync_with_stdio(0); cin.tie(0);
#define endl "\n" //delete if interactive
#define MOD 1000000007
const int inf = 1e18;
int power(int a, int b);


signed   main()
{
	fast
	int t = 1;
	//cin >> t;
	while (t--)
	{
		int n;
		cin >> n;

		int a[n], b[n];

		for (int i = 0; i < n; i++) cin >> a[i];
		for (int i = 0; i < n; i++) cin >> b[i];

		int sum = 0;

		for (int i = 0; i < n; i++)
		{
			sum += (a[i] * b[i]);
		}

		if (sum == 0) cout << "Yes";
		else cout << "No";




	}
	return 0;
}

int power(int a, int b)
{
	int res = 1;
	while (b)
	{
		if (b % 2) b-- , res = res * a;
		else b = b / 2 , a *= a;
	}
	return res;
}

/*
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
*/




#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define REP(i, n) for(ll i = 0; i < (ll)(n); ++i)
#define FOR(i, a, b) for(ll i=(a); i < (ll)(b); ++i)
template<class T> inline bool chmax(T& a, T b) { if(a < b){ a=b; return 1; } return 0;}
template<class T> inline bool chmin(T& a, T b) { if(a > b){ a=b; return 1; } return 0;}

ll GCD(ll a, ll b){
	if(b==0) return a;
	
	return GCD(b, a%b);
}

ll ext_gcd(ll a, ll b, ll &x, ll &y){
	if(b==0){
		x = 1;
		y = 0;
		return a;
	}
	
	ll d = ext_gcd(b, a%b, y, x);
	y -= a/b * x;
	return d;
}

void solve(){
	ll n,s,k;
	cin >> n >> s >> k;
	
	ll x,y;
	
	ll egcd = ext_gcd(n,k,x,y);
	
	cerr << x <<" "<< y << endl;
	if(s%egcd==0){
		ll ans = -1*y*(s/egcd);
		ll di = n/GCD(n,k);
		
		cout << ((ans%di)+di)%di << endl;
	}else{
		cout << "-1\n";
	}
	
}

int main(){
	int t;
	cin >> t;
	while(t--){
		solve();
	}
	
	
	return 0;
}