integer N,H
integer,allocatable::s(:),t(:),c(:)
integer,allocatable::sm(:),tt(:)
integer ans
read*,N,H
allocate(s(N),t(N),c(N))
do i=1,N
  read*,s(i),t(i),c(i)
end do

allocate(sm(2*10**5),tt(2*10**5))
sm=0
do i=1,H
  tt=0
  do j=1,N
    if(c(j)==i)then
      tt(s(j)*2-1)=tt(s(j)*2-1)+1
      tt(t(j)*2)=tt(t(j)*2)-1
    endif
  end do
  do j=2,2*10**5
    tt(j)=tt(j)+tt(j-1)
  end do
  do j=1,2*10**5
    if(tt(j)>0)sm(j)=sm(j)+1
  end do
end do

ans=0
do i=1,2*10**5
  ans=max(ans,sm(i))
end do

print"(i0)",ans

end