만능 소켓
면접 대비시간 제한2초메모리 제한256 MB
위상 또는 중성으로 표시된 n개의 점이 주어질 때, 서로 다른 표시를 가진 두 점 사이의 거리가 정확히 d인 쌍이 있는지 판정한다.
문제
전기 소켓은 다음과 같이 생겼다. 소켓에는 두 개의 접점이 있고, 각 접점에는 전선이 하나씩 연결되어 있다. 이 접점과 연결된 전선을 각각 "위상"과 "중성"이라고 부른다. 소켓의 바깥 패널에는 전기 기기를 연결하기 위한 두 개의 구멍이 있다.
전기 기기는 플러그로 소켓에 연결한다. 플러그에는 두 개의 접점이 있고, 이 접점을 소켓의 구멍에 꽂는다. 플러그를 소켓에 꽂으면 플러그의 접점과 소켓의 접점이 각각 맞닿아 연결된다.
나라마다 접점 사이의 거리가 다른 플러그를 사용하기 때문에 여행자들은 큰 불편을 겪는다. 한 대기업은 거의 모든 나라의 플러그를 꽂을 수 있는 소켓을 출시하기로 했다. 이 소켓에는 n개의 구멍이 있다. 일부 구멍에는 중성이 연결되어 있고, 나머지 구멍에는 위상이 연결되어 있다.
접점 사이의 거리가 d인 플러그를 이 소켓에 꽂아서 플러그의 한 접점은 중성에, 다른 접점은 위상에 연결되도록 할 수 있는지 판별하시오.
입력
첫째 줄에 두 정수 n과 d가 주어진다. (1 ≤ n ≤ 200, 1 ≤ d ≤ 10000)
소켓의 바깥 패널에 직교 좌표계를 도입하자. 다음 n개의 줄에 세 정수 xi, yi, ti가 주어진다. (−10000 ≤ xi, yi ≤ 10000; 0 ≤ ti ≤ 1) 이는 좌표 (xi, yi)에 구멍이 있다는 뜻이다. ti = 1이면 이 구멍에 위상이 연결되어 있고, ti = 0이면 중성이 연결되어 있다.
모든 구멍은 서로 다른 점에 있다.
출력
이 플러그를 이 소켓에 올바르게 꽂을 수 있으면 Yes, 아니면 No를 출력한다.