from heapq import * import sys sys.setrecursionlimit(10 ** 6) def MI(): return map(int, sys.stdin.readline().split()) def main(): def stod(s): res = int(s[0]) * 10000 + int(s[2:4]) * 100 + int(s[5:7]) return res n, m = MI() if n > m: print(m) exit() timeline = [] for i in range(m): s = input() date0 = stod(s[:7]) date1 = stod(s[8:]) # [時間,0到着,退出時間,客番号] heappush(timeline, [date0, 0, date1, i]) ans = 0 stay = 0 arrived = [] leaved = [False] * m while timeline: date0, event, date1, i = heappop(timeline) # チェックアウト if event: if leaved[i]: continue # 追い出されずにチェックアウトできた人数が答え ans += 1 stay -= 1 leaved[i] = True # チェックイン else: heappush(arrived, [-date1, i]) # [時間,1退出,なし,客番号] heappush(timeline, [date1, 1, -1, i]) stay += 1 # 収容人数を越えたら、チェックアウトが一番遅い客を追い出す if stay > n: while 1: date1, i = heappop(arrived) if not leaved[i]: break stay -= 1 leaved[i] = True print(ans) main()