import heapq def chmin(a,b): if a>b: return True return False N,M,K,T=map(int,input().split()) C=[[0]*M for i in range(N)] D=[[0]*M for i in range(N)] def valid(i,j): return 0<=i and i tir: dp[time+1][na][nb]=dp[time][a][b] heapq.heappush(q,(tir,time+1,na,nb)) if C[a][b]>0 and D[a][b]>0: ntime=max(0,time-C[a][b]+1) if dp[ntime][a][b] > tir+D[a][b]: dp[ntime][a][b]=tir+D[a][b] heapq.heappush(q,(dp[ntime][a][b],ntime,a,b)) ans=INF for i in range(-(N+M),min(T+1,N+M+1)): ans=min(ans,dp[i+N+M][N-1][M-1]) if ans==INF: ans=-1 print(ans)