package wangyi;
/**
* 需求分析
* n个学生站成一排 每个学生有一个能力值 牛牛想从n个学生中选出k名学生 要求相邻学生编号不超过d使得这k个学生乘积最大
*/
import java.util.*;
public class Demo{
public static void main(String[] args){
//键盘输入
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] nums = new int[n];
for(int i = 0; i < n; i++){
nums[i] = scan.nextInt();//能力值
}
int k = scan.nextInt();//距离
int d = scan.nextInt();//范围
long[][] max = new long[k][n];
long[][] min = new long[k][n];
for(int i = 0; i < k; i++)
for(int j = 0; j < n; j++){
max[i][j] = 1;
if(i == 0){
min[i][j] = nums[j];
max[i][j] = nums[j];
}
}
for(int i = 1; i < k; i++)
for(int j = 0; j < n; j++)
for(int m = 1; m <= d; m++){
if(j - m >= 0){
if(nums[j] > 0){
min[i][j] = Math.min(min[i][j], min[i - 1][j - m] * nums[j]);
max[i][j] = Math.max(max[i][j], max[i - 1][j - m] * nums[j]);
} else{
min[i][j] = Math.min(min[i][j], max[i - 1][j - m] * nums[j]);
max[i][j] = Math.max(max[i][j], min[i - 1][j - m] * nums[j]);
}
}
}
long Max = 0;
for(int i = 0; i < n; i++)
Max = Math.max(Max, max[k - 1][i]);
System.out.println(Max);
}
}