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 - 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, bl ] >= [ X[ i ] - X[ window[ i ] ], - window[ i ] ]: continue best = X[ i ] - X[ window[ i ] ] bl, br = - window[ i ], i print( best * K ) if best > 0: print( - bl, br )