using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static long NN => long.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, h) = (c[0], c[1]); var map = NArr(n); var list = new List<(int time, int value)>(); for (var i = 0; i < n; ++i) { list.Add((map[i][0], 1)); list.Add((map[i][1], 2)); } list.Sort((l, r) => { var d = l.time.CompareTo(r.value); if (d != 0) return d; return l.value.CompareTo(r.value); }); var ans = 0; var tmp = 0; foreach (var info in list) { if (info.value == 1) ++tmp; else --tmp; ans = Math.Max(ans, tmp); } WriteLine(ans); } }