def init(init_val): for i in range(n): seg[i+num-1]=init_val[i] for i in range(num-2,-1,-1): seg[i]=segfunc(seg[2*i+1],seg[2*i+2]) def query(p,q): if q<=p: return ide_ele p += num-1 q += num-2 res=ide_ele while q-p>1: if p&1 == 0: res = segfunc(res,seg[p]) if q&1 == 1: res = segfunc(res,seg[q]) q -= 1 p = p//2 q = (q-1)//2 if p == q: res = segfunc(res,seg[p]) else: res = segfunc(segfunc(res,seg[p]),seg[q]) return res N,D,K=map(int,input().split()) x=[] for _ in range(N): x.append(int(input())) arr = x segfunc = max ide_ele = 0 n = len(arr) num = 2**(n-1).bit_length() seg = [ide_ele]*2*num init(arr) if N==2: if x[0]