#include <bits/stdc++.h>
using namespace std;
int n, p[1001000];
vector<long long> e[2];
void Count(int t, int u, long long val) {
  if (u >= n) {
    e[t].push_back(val);
    return;
  }
  Count(t, u + 2, val);
  if (1e18 / val >= p[u]) Count(t, u, val * p[u]);
}
long long Lower(long long m) {
  int pos = e[1].size() - 1;
  long long total = 0;
  for (long long x : e[0]) {
    while (pos >= 0 && (1e18 / x < e[1][pos] || e[1][pos] * x > m)) pos--;
    if (pos >= 0)
      total += pos + 1;
    else
      return total;
  }
  return total;
}
int main() {
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  ios ::sync_with_stdio(false);
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> p[i];
  long long k;
  cin >> k;
  Count(0, 0, 1);
  sort(e[0].begin(), e[0].end());
  Count(1, 1, 1);
  sort(e[1].begin(), e[1].end());
  long long l = 0, r = 1e18, cur = -1;
  while (l <= r) {
    long long m = (l + r) >> 1;
    if (Lower(m) >= k) {
      cur = m;
      r = m - 1;
    } else
      l = m + 1;
  }
  cout << cur;
}
