#nullable enable int n, xMax, yMax; { var input = Console.ReadLine()!.Split(' '); n = int.Parse(input[0]); xMax = int.Parse(input[1]); yMax = int.Parse(input[2]); } var xz = new long[n]; var yz = new long[n]; for (var i = 0; i < n; i++) { var input = Console.ReadLine()!.Split(' '); xz[i] = int.Parse(input[0]); yz[i] = int.Parse(input[1]); } var ans = 0L; for (var _i = 0; _i < 2; _i++) { var best = 0L; for (var t = 1; t <= xMax; t++) { var score = 0L; foreach (var x in xz) { var min = Math.Min(x, t); var max = Math.Max(x, t); score += Math.Min(max - min, xMax - max + min); } best = Math.Max(best, score); } ans += best; (xMax, yMax) = (yMax, xMax); (xz, yz) = (yz, xz); } Console.WriteLine(ans);