H, W, K, P = map(int, input().split()) xyN = [] for _ in range(K): xi, yi, Ni = input().split() xyN.append((int(xi), int(yi), Ni)) MOD = 10**9+7 M = 0 ans_idx = None for i in range(2**K): idx = [] c = 0 ban = [[0]*(W+1) for _ in range(H+1)] for j in range(K): if (i>>j)&1: idx.append(j) c += 1 else: ban[xyN[j][0]][xyN[j][1]] = 1 if c>P: continue dp = [[0]*(W+1) for _ in range(H+1)] dp[0][0] = 1 for i in range(H+1): for j in range(W+1): if ban[i][j]: continue if i>0: dp[i][j] += dp[i-1][j] if j>0: dp[i][j] += dp[i][j-1] if M