#include <cmath>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
const long long inf = 1LL << 62;
bool is_kadomatsu(long long A, long long B, long long C) {
	return A != B && B != C && C != A && (B == max({ A, B, C }) || B == min({ A, B, C }));
}
int main() {
	int Q;
	cin >> Q;
	while (Q--) {
		long long A, B, C, X, Y, Z;
		cin >> A >> B >> C >> X >> Y >> Z;
		vector<long long> cp;
		for (long long i = A; i >= A - 3 && i >= 1; --i) cp.push_back(i);
		for (long long i = B; i >= B - 3 && i >= 1; --i) cp.push_back(i);
		for (long long i = C; i >= C - 3 && i >= 1; --i) cp.push_back(i);
		sort(cp.begin(), cp.end());
		cp.erase(unique(cp.begin(), cp.end()), cp.end());
		long long ans = inf;
		for (long long i: cp) {
			for (long long j : cp) {
				for (long long k : cp) {
					if (i <= A && j <= B && k <= C && is_kadomatsu(i, j, k)) {
						ans = min(ans, (A - i) * X + (B - j) * Y + (C - k) * Z);
					}
				}
			}
		}
		cout << (ans != inf ? ans : -1) << '\n';
	}
	return 0;
}