For years, the Day of city N was held in the most rainy day of summer. New mayor decided to break this tradition and select a not-so-rainy day for the celebration. The mayor knows the weather forecast for the $n$ days of summer. On the $i$-th day, $a_i$ millimeters of rain will fall. All values $a_i$ are distinct.

The mayor knows that citizens will watch the weather $x$ days before the celebration and $y$ days after. Because of that, he says that a day $d$ is not-so-rainy if $a_d$ is smaller than rain amounts at each of $x$ days before day $d$ and and each of $y$ days after day $d$. In other words, $a_d < a_j$ should hold for all $d - x \le j < d$ and $d < j \le d + y$. Citizens only watch the weather during summer, so we only consider such $j$ that $1 \le j \le n$.

Help mayor find the earliest not-so-rainy day of summer.


-----Input-----

The first line contains three integers $n$, $x$ and $y$ ($1 \le n \le 100\,000$, $0 \le x, y \le 7$) — the number of days in summer, the number of days citizens watch the weather before the celebration and the number of days they do that after.

The second line contains $n$ distinct integers $a_1$, $a_2$, ..., $a_n$ ($1 \le a_i \le 10^9$), where $a_i$ denotes the rain amount on the $i$-th day.


-----Output-----

Print a single integer — the index of the earliest not-so-rainy day of summer. We can show that the answer always exists.


-----Examples-----
Input
10 2 2
10 9 6 7 8 3 2 1 4 5

Output
3

Input
10 2 3
10 9 6 7 8 3 2 1 4 5

Output
8

Input
5 5 5
100000 10000 1000 100 10

Output
5



-----Note-----

In the first example days $3$ and $8$ are not-so-rainy. The $3$-rd day is earlier.

In the second example day $3$ is not not-so-rainy, because $3 + y = 6$ and $a_3 > a_6$. Thus, day $8$ is the answer. Note that $8 + y = 11$, but we don't consider day $11$, because it is not summer.

Difficulty: interview

Starter code:

Solutions:
n, x, y = list(map(int, input().split()))
arr = [int(x) for x in input().split()]
for i in range(n):
    if arr[i] == min(arr[max(0, i - x):i + y + 1]):
        print(i + 1)
        break


import sys
n, x, y = map(int, input().split())
a = list(map(int, input().split()))
ans = 0
for i in range(n):
    d = False
    for j in range(max(i - x, 0), i):
        if a[j] < a[i]:
            d = True
            break
    if d:
        continue
    for j in range(i + 1, min(i + y + 1, n)):
        if a[j] < a[i]:
            d = True
            break
    if d:
        continue
    print(i + 1)
    return

n, x, y = [int(i) for i in input().split()]
A = [int(i) for i in input().split()]

ans = 0

for i in range(n):
    ok = 1
    for j in range(max(0, i-x), min(i+y+1, n)):
        if j == i:
            continue
        elif A[j] > A[i]:
            continue
        else:
            ok= 0
    if ok:
        ans = i
        break

print(ans+1)


n,x,y = list(map(int, input().split()))
a = list(map(int, input().split()))

for i in range(n):
    ans = True
    for j in range(i-x, i):
        if j >= 0 and a[j] < a[i]:
            ans = False
            break
    for j in range(i+1, i+y+1):
        if j < n and a[j] < a[i]:
            ans = False
            break
    if ans:
        print(i+1)
        return


n, x, y = list(map(int, input().split()))
a = list(map(int, input().split()))
for q in range(n):
    min1 = float('inf')
    for q1 in range(max(0, q-x-1), q):
        min1 = min(min1, a[q1])
    for q1 in range(q+1, min(n, q+y+1)):
        min1 = min(min1, a[q1])
    if min1 > a[q]:
        print(q+1)
        break


# @author 

import sys

class ACityDay:
    def solve(self):
        n, x, y = [int(_) for _ in input().split()]
        a = [int(_) for _ in input().split()]
        for d in range(n):
            ok = True
            for j in range(d - x, d + y + 1):
                if j == d or j < 0 or j >= n:
                    continue
                if a[j] <= a[d]:
                    ok = False
                    break

            if ok:
                print(d + 1)
                break


solver = ACityDay()
input = sys.stdin.readline

solver.solve()


n, x, y = list(map(int, input().split()))
a = list(map(int, input().split()))
for i in range(n):
    k = a[i]
    for j in range(max(0, i - x), min(i + y + 1, n)):
        if j == i:
            continue
        if a[j] <= k:
            break
    else:
        print(i + 1)
        return



n,x,y=list(map(int,input().split()))
arr=list(map(int,input().split()))
for i in range(n):
	flag=0
	for j in range(i-1,max(i-x-1,-1),-1):
		if(arr[j]<=arr[i]):
			flag=1

	for j in range(i+1,min(i+y+1,n)):
		if(arr[j]<=arr[i]):
			flag=1
	if(flag==0):
		print(i+1)
		return


n, x, y = list(map(int, input().split(' ')))
a = [int(i) for i in input().split(' ')]
for i in range(n):
    current = a[i]
    wrong = False
    for j in range(max(0, i - x), i):
        if a[j] <= current:
            wrong = True
            break
    for j in range(i + 1, min(i + y + 1, n)):
        if a[j] <= current:
            wrong = True
            break
    if wrong:
        continue
    print(i + 1)
    return



n, x, y = map(int,input().split())
a = list(map(int,input().split()))
for i in range(n):
    rain = a[i]
    for j in range(max(0, i-x), min(i+y+1, n)):
        if j==i:
            continue
        if rain >= a[j]:
            break
    else:
        print(i+1)
        break

# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
# TAIWAN NUMBER ONE!!!!!!!!!!!!!!!!!!!
from sys import stdin, stdout


#N = int(input())
#s = input()
N,X,Y = [int(x) for x in stdin.readline().split()]

arr = [int(x) for x in stdin.readline().split()]

for i in range(N):
    left = max(0,i-X)
    right = min(N-1,i+Y)
    #print(left,right)
    flag = 0
    for j in range(left,right+1):
        if arr[j]<=arr[i] and i!=j:
            flag = 1
            break
        
    if flag==0:
        print(i+1)
        quit()
    
    


n, x, y = list(map(int, input().split()))
a = list(map(int, input().split()))


def is_not_so_rainy(n, x, y, a, i):
    for j in range(max(0, i - x), i):
        if a[j] <= a[i]:
            return False
    for j in range(i + 1, min(i + y + 1, n)):
        if a[j] <= a[i]:
            return False
    return True


def find_not_so_rainy(n, x, y, a):
    for i in range(n):
        if is_not_so_rainy(n, x, y, a, i):
            return i + 1
    return None


print(find_not_so_rainy(n, x, y, a))


n,x,y=map(int,input().split())
l=list(map(int,input().split()))
for d in range(n):
	ad=l[d]
	valid=True
	for j in range(max(d-x,0),d):
		if (ad>=l[j]):
			valid=False
	for j in range(d+1,min(d+y+1,n)):
		if (ad>=l[j]):
			valid=False
	if(valid):
		print(d+1)
		quit()

ints=[int(x) for x in input().split()]
days=[int(x) for x in input().split()]
for i in range(ints[0]):
    pos=True
    for j in range(min(ints[1],i)):
        if days[i-j-1]<days[i]:
            pos=False
            break
    for k in range(min(ints[2],ints[0]-i-1)):
        if days[i+k+1]<days[i]:
            pos=False
            break
    if pos==True:
        print(i+1)
        break


n,x,y=list(map(int,input().split(" ")))
a=list(map(int,input().split(" ")))

for i in range(n):

	flg=True

	for j in range(max(0,i-x),i):
		if(a[j]<=a[i]):
			flg=False

	for j in range(i+1,min(n,i+y+1)):
		if(a[j]<=a[i]):
			flg=False

	if(flg):
		print(i+1)
		return


import sys
input = sys.stdin.readline
sys.setrecursionlimit(100000)

def getN():
    return int(input())
def getList():
    return list(map(int, input().split()))
import math
from bisect import bisect_left

inf = 10 ** 10
n, x, y = getList()
nums =getList()
nums = [inf] * x + nums + [inf] * y
# print(nums)
for i in range(n):
    flag = 0
    tgt = nums[x+i]
    # print(tgt)
    for j in range(x):
        dif = nums[x + i - j - 1]
        # print(dif)
        if dif <= tgt:
            flag = 1
            continue
    if not flag:
        for j in range(y):
            dif = nums[x + i + j + 1]
            # print(dif)
            if dif <= tgt:
                flag = 1
                continue

    # print(flag)
    if not flag:
        print(i+1)
        return

n, x, y = list(map( int, input().split() ))
l = list( map( int, input().split() ) )

for i in range( n ):
    if min( l[max(0,i-x):i] + [ l[ i ] + 1 ] ) > l[ i ] < min( l[ i + 1: min( n, i + y + 1 ) ] + [ l[ i ] + 1 ] ):
        print( i + 1 )
        break


n,x,y=[int(x) for x in input().split()]
a=[int(x) for x in input().split()]
for i in range(n):
    for j in range(max(i-x,0),min(i+y+1,n)):
        if a[j]<=a[i] and j!=i:
            break
    else:
        print(i+1)
        break


from sys import stdin

n,x,y=list(map(int,stdin.readline().strip().split()))
s=list(map(int,stdin.readline().strip().split()))
for i in range(n):
    t=True
    for j in range(i-1,max(-1,i-x-1),-1):
        if s[j]<s[i]:
            t=False
    for j in range(i+1,min(n,i+y+1)):
        if s[j]<s[i]:
            t=False
    if t:
        print(i+1)
        break
        


n, x, y = [int(x) for x in input().split()]
a = [int(x) for x in input().split()]
for i in range(n):
    g1 = max(0,i-x)
    g2 = min(n-1,i+y)
    if a[i] == min(a[g1:(g2+1)]):
        print(i+1)
        break

import sys
n, x, y = list(map(int, input().split()))
*a, = list(map(int, input().split()))

for i in range(n):
    for j in range(max(0, i - x), i):
        if a[j] <= a[i]:
            break
    else:
        for k in range(i + 1, min(i + y + 1, n)):
            if a[k] <= a[i]:
                break
        else:
            print(i + 1)
            return


n,x,y = list(map(int,input().split()))
arr = list(map(int,input().split()))
for nowi in range(n):
    now = arr[nowi]
    check = True
    for i in range(x):
        if (nowi-1-i) < 0:
            break
        if arr[nowi-1-i]<now:
            check=False
            break
    for i in range(y):
        if(nowi+1+i) >= n:
            break
        if arr[nowi+1+i]<now:
            check=False
            break
    if check:
        print(nowi+1)
        break



n,x,y=map(int,input().split())
a=list(map(int,input().split()))
for i in range(n):
    flag=True
    l=i-1
    r=i+1
    while l>=0 and i-l<=x:
        if a[l]<=a[i]:
            flag=False
        l-=1
    while r<n and r-i<=y:
        if a[r]<=a[i]:
            flag=False
        r+=1
    if flag==True:
        print(i+1)
        return

import sys
import math
input = sys.stdin.readline

n,x,y=map(int,input().split())

a=list(map(int,input().split()))

for i in range(n):
	flag=True
	for j in range(1,x+1):
		if i-j>=0 and a[i]>a[i-j]:
			flag=False
			break
	for j in range(1,y+1):
		if i+j<n and a[i]>a[i+j]:
			flag=False
			break

	if flag:
		print(i+1)
		break