// Sajal Asati
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;

#define pb push_back
#define mkp make_pair
#define pf push_front
#define ff first
#define ss second
// #define endl "\n"
#define lpstl(i,v) for(auto &i: v)
#define all(a) a.begin(),a.end()
#define rall(x) (x).rbegin(),(x).rend()
#define sz(a) (ll)(a.size())
#define tr(container, it) \
for(auto it = container.begin(); it != container.end(); ++it)

//containers
#define ii pair<int,int>
#define pll pair<ll,ll>
#define vi vector<int> 
#define vll vector<ll>
#define vld vector<ld>
#define vii vector<ii>
#define vpll vector<pll>
#define pq priority_queue
#define minpq priority_queue <int, vector<int>, greater<int>>

const ll init = 1e9+7;
const ll N = 1e5+7;


int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int n,x,y; cin>>n>>x>>y;
	if(x+1>=n){
		cout<<n<<endl;
		return 0;
	}
	vi v(N);
	for(int i=1;i<=n;++i) cin>>v[i];
	for(int i=1;i<=n;++i){
		int flag=0;
		for(int j=i-1; j>=i-x && j>=1; --j){
			if(v[i]>=v[j]){
				++flag; break;
			}
		}
		for(int j=i+1; j<=i+y && j<=n; ++j){
			if(v[i]>=v[j]){
				++flag; break;
			}
		}
		if(!flag){
			cout<<i<<endl;
			return 0;
		}
	}
    return 0;
}