#include <iostream>
#include<vector>
using namespace std;
using i64 = long long;
const int N = 1e3 + 10;

int main() {
    int n, k, d;
    cin >> n ;
    vector<i64> a(n + 1);
    // i64 res =1;
    for (int i = 1; i <= n; i++)cin >> a[i];
    cin>>k>>d;
    vector<vector<i64>> f(n+1,vector<i64>(12,1));
    vector<vector<i64>> g(n+1,vector<i64>(12,1)); 

    // f[1][1] = g[1][1] = a[1];
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= k; j++) {
            for (int l = 1; l <= d; l++) 
            {
                if (a[i] >= 0) {
                    if (i - l >= 0) {
                        f[i][j] = max(f[i][j], f[i-l][j - 1] * a[i]);
                        g[i][j] = min(g[i][j], g[i-l][j - 1] * a[i]);
                    }
                } else if (a[i] < 0) {
                    if (i - l >= 0) {
                        f[i][j] = max(f[i][j], g[i-l][j - 1] * a[i]);
                        g[i][j] = min(g[i][j], f[i-l][j - 1] * a[i]);
                    }
                }

            }
        }
    }

    i64 res = 1;
    for (int i = 1; i <= n; i++) {
        res = max(res, f[i][k]);
    }
    cout << res;
}
// 64 位输出请用 printf("%lld")