using System; using System.Linq; using System.Collections.Generic; class Solution { static void Main() { var n = MyConsole.ReadInt(); var a = MyConsole.ReadArray(); var result = GetNumbersCount(a); Console.WriteLine(result); } private static int GetNumbersCount(int[] a) { var buckets = new int[100]; Array.ForEach(a, x => buckets[x]++); var max = 0; for(var i = 0; i < 99; i++) { var sum = buckets[i] + buckets[i + 1]; if (sum > max) { max = sum; } } return max; } } class MyConsole { public static long[] ReadArrayLong() { return Console.ReadLine().Trim().Split(' ', '\t').Select(long.Parse).ToArray(); } public static int[] ReadArray() { return Console.ReadLine().Trim().Split(' ', '\t').Select(int.Parse).ToArray(); } public static int[] ReadArrayFlagged(int startFlag, int endFlag) { var initialArray = ReadArray(); var flaggedArray = new int[initialArray.Length + 2]; flaggedArray[0] = startFlag; flaggedArray[flaggedArray.Length - 1] = endFlag; Array.Copy(initialArray, 0, flaggedArray, 1, initialArray.Length); return flaggedArray; } public static int ReadInt() { return int.Parse(Console.ReadLine().Trim()); } public static long ReadLong() { return long.Parse(Console.ReadLine().Trim()); } public static void ReadLine(out int int0, out int int1) { var arr = ReadArray(); int0 = arr[0]; int1 = arr[1]; } public static void ReadLineLong(out long int0, out long int1) { var arr = ReadArrayLong(); int0 = arr[0]; int1 = arr[1]; } public static void ReadLine(out int int0, out int int1, out int int2) { var arr = ReadArray(); int0 = arr[0]; int1 = arr[1]; int2 = arr[2]; } public static void ReadLine(out int int0, out int int1, out int int2, out int int3) { var arr = ReadArray(); int0 = arr[0]; int1 = arr[1]; int2 = arr[2]; int3 = arr[3]; } }