process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function main() { var n = parseInt(readLine()); a = readLine().split(' '); a = a.map(Number); var numMap = new Map(); for (let n of a) if (numMap.has(n)) numMap.set(n, numMap.get(n) + 1); else numMap.set(n, 1); var largest = 0; for (let [num, times] of numMap) { if (times > largest) largest = times; if (numMap.has(num - 1) && numMap.get(num - 1) + times > largest) largest = numMap.get(num - 1) + times; if (numMap.has(num + 1) && numMap.get(num + 1) + times > largest) largest = numMap.get(num + 1) + times; } process.stdout.write(largest + "\n"); //a.sort(function (a, b) { if (a < b) return -1; if (a == b) return 0; else return 1; }); }