/*CODED BY mahmudulsakib2019
DATE:-06/3/2024;TIME:-08:08 pm
BANGALDESH , SYLHET*/
#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 GCM_(int a, int b, int c, int X) {
for (int i = X - 1; i >= 1; --i) {
if (i % a == 0 && i % b == 0 && i % c == 0) {
return i;
}
}
return -1;
}
int main() {
int T;
cin >> T;
while (T--) {
int a, b, c, X;
cin >> a >> b >> c >> X;
cout << GCM_(a, b, c, X) << endl;
}
return 0;
}