output_description: When the minimum required number of recorders is x, print the value of x.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N C
      s_1 t_1 c_1
      :
      s_N t_N c_N
attempt: from sys import stdout
  
  printn = lambda x: stdout.write(x)
  inn = lambda: int(input())
  inl = lambda: list(map(int, input().split()))
  inm = lambda: map(int, input().split())
  DBG = True  # and False
  BIG = 999999999
  R = 10**9 + 7
  
  
  def ddprint(x):
      if DBG:
          print(x)
  
  
  n, c = inm()
  a = []
  for i in range(n):
      s, t, c = inm()
      a.append((t, s, c))
  a.sort()
  
  h = {}  # h[(t,c)] = s
  for z in a:
      t, s, c = z
      if (s, c) in h:
          s0 = h[(s, c)]
          del h[(s, c)]
          h[(t, c)] = s0
      else:
          h[(t, c)] = s
  
  a = []
  for z in h:
      t, c = z
      s = h[z]
      a.append((t, s, c))
  
  a.sort()
  # ddprint(a)
  n = len(a)
  nu = 0
  ut = [-1] * n
  uc = [-1] * n
  for i in range(n):
      t, s, c = a[i]
      # ddprint("lp t {} s {} c {} i {}".format(t,s,c,i))
      mx = -1
      for j in range(nu):
          if ut[j] <= s - 1 and ut[j] > mx:
              mx = ut[j]
              mxj = j
              if False:
                  ddprint("t {} s {} c {} j {}".format(t, s, c, j))
                  ddprint(ut)
                  ddprint(uc)
      if mx == -1:
          mxj = nu
          nu += 1
      ut[mxj] = t
      uc[mxj] = c
      # ddprint(mxj)
  print(nu)
  
problem_description: Statement
  
  Joisino is planning to record N TV programs with recorders.
  
  The TV can receive C channels numbered 1 through C.
  
  The i-th program that she wants to record will be broadcast from time s_i to
  time t_i (including time s_i but not t_i) on Channel c_i.
  
  Here, there will never be more than one program that are broadcast on the same
  channel at the same time.
  
  When the recorder is recording a channel from time S to time T (including time
  S but not T), it cannot record other channels from time S-0.5 to time T
  (including time S-0.5 but not T).
  
  Find the minimum number of recorders required to record the channels so that
  all the N programs are completely recorded.
samples: [{"input": "3 2\n    1 7 2\n    7 8 1\n    8 12 1", "output": "2\n    \n\nTwo recorders can record all the programs, for example, as follows:\n\n  * With the first recorder, record Channel 2 from time 1 to time 7. The first program will be recorded. Note that this recorder will be unable to record other channels from time 0.5 to time 7.\n  * With the second recorder, record Channel 1 from time 7 to time 12. The second and third programs will be recorded. Note that this recorder will be unable to record other channels from time 6.5 to time 12.\n\n* * *"}, {"input": "3 4\n    1 3 2\n    3 4 4\n    1 4 3", "output": "3\n    \n\nThere may be a channel where there is no program to record.\n\n* * *"}, {"input": "9 4\n    56 60 4\n    33 37 2\n    89 90 3\n    32 43 1\n    67 68 3\n    49 51 3\n    31 32 3\n    70 71 1\n    11 12 3", "output": "2"}]