#include <bits/stdc++.h>
using namespace std;
vector<long long> ar;
long long fun(long long len, long long x, long long a, long long y,
              long long b) {
  long long i, f1 = 0, f2 = 0, f3 = 0;
  for (i = 1; i <= len; i++) {
    if ((i % a) == 0 && (i % b) == 0)
      f1++;
    else if ((i % a) == 0)
      f2++;
    else if ((i % b) == 0)
      f3++;
  }
  long long s = 0;
  for (i = 0; i < f1; i++) s += (ar[i] * (x + y));
  for (i = 0; i < f2; i++) s += (ar[i + f1] * x);
  for (i = 0; i < f3; i++) s += (ar[i + (f1 + f2)] * y);
  return s;
}
int main() {
  long long q;
  cin >> q;
  while (q--) {
    long long n, m, i, j, k, mn = 99999999999;
    cin >> n;
    for (i = 0; i < n; i++) {
      long long val;
      cin >> val;
      ar.push_back(val / 100);
    }
    long long x, a, y, b;
    cin >> x >> a >> y >> b;
    cin >> k;
    sort(ar.begin(), ar.end());
    reverse(ar.begin(), ar.end());
    long long l = 0, r = n;
    if (x < y) {
      swap(x, y);
      swap(a, b);
    }
    while (l <= r) {
      long long m = (r + l) >> 1;
      long long res = fun(m, x, a, y, b);
      if (res >= k) {
        r = m - 1;
        mn = min(mn, m);
      } else
        l = m + 1;
    }
    if (mn == 99999999999) mn = -1;
    cout << mn << '\n';
    ar.clear();
  }
  return 0;
}
