만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

구조대

시간 제한1초메모리 제한1024 MB

요약
구조대의 시작 시각 s를 골라 s:30부터 M시간 동안 현장을 두 번 방문할 수 있는 팀이 가장 많아지도록 합니다.
난이도

보통10점 중 6점

유형
구간, 슬라이딩 윈도우, 정렬
정답자
아직 제출이 없습니다

문제

준긋이는 학교 구조대 대장이다. 이번에 고양이들이 지하에 갇혀 있다는 소식을 듣고 구조하러 가기로 했다. 하지만 구조대원이 학생이라 담당 선생님께 허락받은 MM시간 동안만 활동할 수 있다. 한 번 활동을 시작하면 MM시간을 연속으로 활동해야 하며 중간에 쉴 수 없다. 다만 활동을 언제 시작할지는 준긋이가 마음대로 요청할 수 있다. 시작 시각을 ss(ss는 음이 아닌 정수)라 하면 준긋이는 ss시 3030분부터 s+Ms+M시 3030분까지 활동하도록 요청할 수 있다.

학교 구조대는 여러 팀으로 이루어져 있으며, 한 팀의 구조 작업은 다음과 같이 진행된다.

  • 팀이 현장에 도착하여 현장을 파악한다.
  • 팀이 복귀해 상황을 분석하고 필요한 물품을 챙긴다.
  • 다시 현장에 도착해 구조 작업을 완료한다.

각 팀에는 고유 번호 cc가 있으며, 활동 가능한 시간대가 하나 이상 있다. 시간대는 [l,r)[l, r) 형식이며, ll시 0000분부터 r−1r-1시 5959분까지 활동 가능하다는 뜻이다. 현장 도착과 복귀는 활동 가능 시간 중 언제든 할 수 있지만, 한 번 복귀한 시간대에는 같은 시간대 안에서 다시 현장으로 갈 수 없다. 대장인 준긋이는 최소 두 번 이상 현장에 갈 수 있는 팀만 구조에 참여시키려 하며, 이런 팀을 최대한 많이 참여시키고자 한다. 준긋이를 도와 시간을 잘 정해서 가장 많은 팀이 참여할 수 있게 하자.

입력

첫 번째 줄에 활동 가능한 시간대의 개수 NN과 주어진 시간 MM이 공백으로 구분되어 주어진다.

두 번째 줄부터 NN개의 줄에는 cc번 팀의 활동 시간대 중 하나인 [l,r)[l, r)를 나타내는 정수 ll, rr과 팀의 번호 cc가 공백으로 구분되어 주어진다.

같은 팀의 모든 활동 시간대는 서로 겹치지 않는다. 엄밀하게, 같은 팀의 임의의 두 시간대 [li,ri)[l_i, r_i)와 [lj,rj)[l_j, r_j)에 대해 li≠ljl_i \neq l_j이고, li<ljl_i < l_j라면 ri<ljr_i < l_j이다.

출력

첫 번째 줄에 참여할 수 있는 구조대 팀의 최댓값을 출력한다.

제한

  • 1≤N≤2×1051 \le N \le 2 \times 10^5, 1≤M≤1061 \le M \le 10^6
  • 0≤l<r≤1060 \le l < r \le 10^6, 0≤c≤1090 \le c \le 10^9
  • 모든 입력은 정수이다.

예제1

  1. 예제 1

    입력
    4 10
    1 5 1
    2 5 2
    6 7 1
    11 12 2
    
    예상 출력
    2