#include <bits/stdc++.h>
using namespace std;
int t;
long long x, y;
long long c[10], best[10];
long long ans;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cin >> t;
  while (t--) {
    cin >> x >> y;
    for (int i = 1; i <= 6; i++) {
      cin >> c[i];
    }
    for (int i = 2; i <= 5; i++) {
      best[i] = min(c[i], c[i - 1] + c[i + 1]);
    }
    best[1] = min(c[1], c[2] + c[6]);
    best[6] = min(c[6], c[1] + c[5]);
    if (x == 0 && y == 0) {
      cout << 0 << "\n";
      continue;
    }
    if (x * y >= 0) {
      if (x < 0 && y < 0) {
        ans += max(x, y) * (-1) * best[4];
        long long m = (-1) * max(x, y);
        x += m;
        y += m;
      }
      if (x > 0 && y > 0) {
        ans += min(x, y) * best[1];
        long long m = min(x, y);
        x -= m;
        y -= m;
      }
      if (x == 0 && y > 0) {
        ans += y * best[2];
        y = 0;
      }
      if (x == 0 && y < 0) {
        ans += (-y) * best[5];
        y = 0;
      }
      if (x < 0 && y == 0) {
        ans += (-x) * best[3];
        x = 0;
      }
      if (x > 0 && y == 0) {
        ans += x * best[6];
        x = 0;
      }
    } else {
      if (x > 0 && y < 0) {
        ans += best[6] * x;
        ans += best[5] * (-y);
        x = 0;
        y = 0;
      }
      if (x < 0 && y > 0) {
        ans += (-x) * best[3];
        ans += y * best[2];
        x = 0;
        y = 0;
      }
    }
    cout << ans << "\n";
    ans = 0;
  }
}
