#include <iostream>
#include <cmath> ///mathematics
#include <vector> ///array
#include <regex> ///searching_prefix_suffix
#include <algorithm> ///finding_max_min_from_array
#include <string> ///string_manipulation
#include <numeric> ///findin total sum of an array
using namespace std;
int main() {
int T;
cin >> T;
for(int i=0;i<T;i++) {
long long int a, b, c, X;
cin >> a >> b >> c >> X;
long long int GCM = (a*b)/__gcd(a,b);
GCM = (GCM*c)/__gcd(GCM,c);
long long int count = ((X-1)/GCM)*GCM;
if(count == 0){
cout << -1 << endl;
}
else{
cout << count << endl;
}
}
return 0;
}