n,x,y=map(int,input().split()) L=[list(map(int,input().split())) for _ in range(n)] d=dict() d[(0,0)]=0 S={(0,0)} ans=0 for a,b,c in L: nx={(0,0)} for A,B in S: v=d[(A,B)] if A+a<=x and B+b<=y: ans=max(ans,v+c) nx.add((A+a,B+b)) if (A+a,B+b) not in d: d[(A+a,B+b)]=v+c else: if d[(A+a,B+b)]