Round-table Conference

Time Limit: 12000ms
Memory Limit: 65536KB
This problem will be judged on HDU. Original ID: 4854
64-bit integer IO format: %I64d      Java class name: Main

Description

Round-table conferences were held around the round table, ensuring equal participations for leaders and attendants. It’s a custom holding the belief that “All men are created equal”, derived from the British story of King Arthur and his round table knights.
One day, Zero, as a sponsor holding a round-table conference, faces a tough problem. He knows that there are n groups of people (groups are labeled from 0 to n - 1) and m seats around the table (seats are labeled from 0 to m - 1) in the conference. There are ai people in the i-th group. They should be assigned seats within range (li, (li + 1)%m, (li+ 2)%m, . . . , ri).In a valid arrangment, everyone has a single seat, and no seat can be shared by more than one person. Zero wants to know whether such an arrangement exists.

Input

There are several test cases. Please process till EOF.
For each test case, The first line consists two numbers n(1 ≤ n ≤ 105) and m(1 ≤ m ≤ 109). Then follow n lines, each containing three numbers li, ri(0 ≤ li, ri< m) and ai(1 ≤ ai ≤ 109).

Output

For each test case, output a single line containing “Yes” if arrangement exists or “No” otherwise.

Sample Input

2 4	
0 1 2
1 2 2
2 3	
2 0 2
1 1 1

Sample Output

No
Yes

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .