#!/bin/python3 import sys n,x,y = input().strip().split(' ') n,x,y = [int(n),int(x),int(y)] _lat, _long, _height, _points = 0,1,2,3 # lat long height points C = [list(map(int, input().strip().split(' '))) for i in range(n)] def N(city): r = [] for c in range(n): if c != city and abs(C[c][_lat] - C[city][_lat]) <= x and abs(C[c][_long] - C[city][_long]) <= y and C[c][_height] > C[city][_height]: r.append(c) return r def solve(city, visited): s = 0 visited_m = visited[:] visited_m[city] = True neighbours = N(city) if neighbours: s = max([solve(c, visited_m) for c in neighbours if not visited[c]]) return s + C[city][_points] visited = [False for i in range(n)] s = 0 for i in range(n): s = max(s, solve(i, visited)) print(s) #D = [[[0 for j in range(n)] for i in range(i)] for k in range(n)] # #for k in range(n): # D[k][0][0] = (C[k][_points], k) #for k in range(n): # sequence starts with city k # for i in range(1, n): # sequence length # for j in range(i): # j-th element of sequence # prev = D[k][i][j-1] # if C[prev[1]][_lat]