#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int t;
  cin >> t;
  while (t--) {
    long long int i, j, n, m;
    cin >> n;
    vector<long long int> ar(n);
    for (i = 0; i < n; i++) cin >> ar[i];
    long long int x, y, a, b;
    cin >> x >> a;
    cin >> y >> b;
    long long int k;
    cin >> k;
    long long int tot = 0;
    sort(ar.begin(), ar.begin() + n, greater<long long int>());
    vector<long long int> ar1(n, 0);
    for (i = 0; i < n; i++) {
      if ((i + 1) % b == 0) {
        ar1[i] += y;
      }
      if ((i + 1) % a == 0) {
        ar1[i] += x;
      }
    }
    vector<long long int> tmp4(n);
    for (i = 0; i < n; i++) {
      tmp4[i] = ar1[i];
    }
    sort(tmp4.begin(), tmp4.begin() + n, greater<long long int>());
    tot = 0;
    for (i = 0; i < n; i++) {
      long long int tmp3 = tmp4[i] * ar[i];
      tmp3 /= 100;
      tot += tmp3;
    }
    if (tot < k) {
      cout << "-1\n";
    } else {
      long long int mx1 = n;
      long long int mn1 = 1;
      long long int b = (mx1 + mn1) / 2;
      while (b > mn1) {
        vector<long long int> tmp(b);
        map<long long int, long long int> mp1;
        for (i = 0; i < b; i++) {
          mp1[ar1[i]]++;
        }
        long long int i1 = 0;
        for (i = 100; i >= 0; i--) {
          long long int x1 = mp1[i];
          if (x1) {
            for (j = 0; j < x1; j++) {
              tmp[i1++] = i;
            }
          }
        }
        tot = 0;
        long long int count1 = 0;
        for (i = 0; i < b; i++) {
          long long int tmp3 = tmp[i] * ar[i];
          tmp3 /= 100;
          tot += tmp3;
          if (tot >= k) {
            mx1 = b;
            b = (mx1 + mn1) / 2;
            count1 = 1;
            break;
          }
        }
        if (tot >= k) {
          if (count1 == 0) {
            mx1 = b;
            b = (mx1 + mn1) / 2;
          }
        } else {
          mn1 = b;
          b = (mx1 + mn1) / 2;
        }
      }
      vector<long long int> tmp(mn1);
      for (i = 0; i < mn1; i++) {
        tmp[i] = ar1[i];
      }
      sort(tmp.begin(), tmp.begin() + mn1, greater<long long int>());
      tot = 0;
      for (i = 0; i < mn1; i++) {
        long long int tmp3 = tmp[i] * ar[i];
        tmp3 /= 100;
        tot += tmp3;
      }
      if (tot >= k) {
        cout << mn1 << "\n";
      } else {
        cout << mx1 << "\n";
      }
    }
  }
}
