#include <bits/stdc++.h>
using namespace std;
int n;
int a, b, h, w, ans = INT_MAX, f[int(1e5 + 10)];
bool cmp(int x, int y) { return x > y; }
void get_answ(long long x, long long y, int d, bool flag) {
  if (x >= a && y >= b) {
    ans = min(ans, d - 1);
    return;
  }
  if (d == n + 1) return;
  if ((!flag || f[d] != f[d - 1]) && x < a)
    get_answ(1ll * x * f[d], y, d + 1, 0);
  if (y < b) get_answ(x, 1ll * y * f[d], d + 1, 1);
}
int main() {
  scanf("%d%d%d%d%d", &a, &b, &h, &w, &n);
  for (int i = 1; i <= n; i++) scanf("%d", f + i);
  sort(f + 1, f + n + 1, cmp);
  get_answ(h, w, 1, 0);
  get_answ(w, h, 1, 0);
  if (ans != INT_MAX)
    printf("%d", ans);
  else
    printf("-1");
}
