#include<iostream>
#define ull long long
using namespace std;
long long n,c[100005],_C[100005],C_[100005];
int _Cnt,C_nt,maxx,cntmax,cnti;
int m,s_1,p_1,s_2;
ull merge(int i){
if(i<m){
for(int j = 1;j<m;j++){
if(j == p_1){
_Cnt+=(_C[j]+s_2)*(m-j);
continue;
}
_Cnt+=_C[j]*(m-j);
}
return _Cnt;
}
else if(i>m){
for(int j = m+1;j<=n;j++){
if(j == p_1){
C_nt+=(C_[j]+s_2)*(j-m);
continue;
}
C_nt+=_C[j]*(j-m);
}
return C_nt;
}
}
int main(){
cin>>n;
for(int i = 1;i<=n;i++){
cin>>c[i];
}
cin>>m>>p_1>>s_1>>s_2;
for(int i = 1;i<m;i++){
_C[i] = c[i];
}
for(int i = m+1;i<=n;i++){
C_[i] = c[i];
}
if(p_1<m){
for(int i = 1;i<m;i++){
if(i == p_1){
_Cnt+=(_C[i]+s_1)*(m-i);
continue;
}
_Cnt+=_C[i]*(m-i);
}
}
else if(p_1>m){
for(int i = m+1;i<=n;i++){
if(i == p_1){
C_nt+=(C_[i]+s_1)*(i-m);
continue;
}
C_nt+=_C[i]*(i-m);
}
}
int ns = merge(1);
int ma = max(ns,C_nt);
int mi = min(ns,C_nt);
cntmax = ma-mi;
for(int i = 1;i<=n;i++){
if(i == m){
continue;
}
int n = merge(i);
if(i<m){
int maxx = max(n,C_nt);
int minn = min(n,C_nt);
if(maxx-minn<cntmax){
cntmax = maxx-minn;
cnti = i;
}
}
else if(i>m){
int maxx = max(n,_Cnt);
int minn = min(n,_Cnt);
if(maxx-minn<cntmax){
cntmax = maxx-minn;
cnti = i;
}
}
}
cout<<cnti;
return 0;
}