from collections import deque N, D, K = map( int, input().split() ) X = list( int( input() ) for i in range( N ) ) window = [ -1 for i in range( N ) ] dq = deque() for i in range( N ): while len( dq ) and i - X[ dq[ 0 ] ] > D: dq.popleft() if len( dq ): window[ i ] = dq[ 0 ] while len( dq ) and X[ i ] <= X[ dq[ len( dq ) - 1 ] ]: dq.pop() dq.append( i ) best = 0 bl, br = -1, -1 for i in range( N ): if window[ i ] == -1: continue if best >= X[ i ] - X[ window[ i ] ]: continue best = X[ i ] - X[ window[ i ] ] bl, br = window[ i ], i print( best * K ) if best > 0: print( bl, br )