#include <bits/stdc++.h>
using namespace std;
long long p[200010];
long long x, a, y, b;
long long n;
long long k;
bool rev(long long i, long long j) { return i >= j; }
long long gcd(long long a, long long b) {
  while (b != 0) {
    a %= b;
    swap(a, b);
  }
  return a;
}
bool check(long long f) {
  if (f > n) return 0;
  long long g = f / a + 1;
  long long h = f / b + 1;
  long long j = f / (a * b / (gcd(a, b))) + 1;
  g -= j;
  h -= j;
  j -= 1;
  long long ans = 0;
  if (x < y) {
    for (long long i = 0; i < j && i < f; i++) {
      ans += p[i] * (x + y) / 100;
    }
    for (long long i = j; i < j + h && i < f; i++) {
      ans += p[i] * y / 100;
    }
    for (long long i = j + h; i < j + h + g && i < f; i++) {
      ans += p[i] * x / 100;
    }
  } else {
    for (long long i = 0; i < j && i < f; i++) {
      ans += p[i] * (x + y) / 100;
    }
    for (long long i = j; i < j + g && i < f; i++) {
      ans += p[i] * x / 100;
    }
    for (long long i = j + g; i < j + h + g && i < f; i++) {
      ans += p[i] * y / 100;
    }
  }
  return ans >= k;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long q;
  cin >> q;
  for (long long i = 0; i < q; i++) {
    cin >> n;
    for (long long i = 0; i < n; i++) {
      cin >> p[i];
    }
    cin >> x >> a >> y >> b;
    cin >> k;
    sort(p, p + n, rev);
    if (!check(n)) {
      cout << -1 << '\n';
      continue;
    }
    long long l = 0, r = n + 2;
    while (l + 1 < r) {
      long long m = (l + r) >> 1;
      if (check(n - m)) {
        l = m;
      } else {
        r = m;
      }
    }
    cout << n - l << '\n';
  }
  return 0;
}
