output_description: When the minimum fee is x yen, print the value of x.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N A B
attempt: import numpy as np
  
  
  def main():
      input_string = list(map(int, input().split()))
      N = input_string[0]
      C = input_string[1]
      data = []
      for i in range(N):
          data.append(list(map(int, input().split())))
  
      data_np = np.array(data).reshape(N, 3)
  
      max_time = max(data_np[:, 1])
      schedule = np.zeros([max_time, C])
  
      for i in range(N):
          start = data[i][0] - 1
          end = data[i][1] - 1
          channel = data[i][2] - 1
          for j in range(end - start + 1):
              schedule[start + j][channel] = 1
  
      for c in range(C):
          for t in range(max_time):
              if t == 0:
                  continue
              if schedule[t][c] == 1 and schedule[t - 1][c] == 0:
                  schedule[t - 1][c] = 1
  
      max_N = 0
      for t in range(max_time):
          sum_of_ch = sum(schedule[t])
  
          if sum_of_ch > max_N:
              max_N = int(sum_of_ch)
      print(max_N)
  
  
  main()
  
problem_description: Statement
  
  You are parking at a parking lot. You can choose from the following two fee
  plans:
  
    * Plan 1: The fee will be A×T yen (the currency of Japan) when you park for T hours.
    * Plan 2: The fee will be B yen, regardless of the duration.
  
  Find the minimum fee when you park for N hours.
samples: [{"input": "7 17 120", "output": "119\n    \n\n  * If you choose Plan 1, the fee will be 7\u00d717=119 yen.\n  * If you choose Plan 2, the fee will be 120 yen.\n\nThus, the minimum fee is 119 yen.\n\n* * *"}, {"input": "5 20 100", "output": "100\n    \n\nThe fee might be the same in the two plans.\n\n* * *"}, {"input": "6 18 100", "output": "100"}]