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); a.sort(); //Create Buckets and Remove Duplicates var buckets = []; for(var i = n-1; i >=0; i--){ buckets[a[i]] = buckets[a[i]] || 0; buckets[a[i]]++; if(buckets[a[i]] > 1){ a.splice(i,1) } } var longestRun = 0; var run = 0; var prevNums = []; for(var num in buckets){ var ida = prevNums[0]; var idb = prevNums[1]; run = 0; if(ida && ida>num-2 && buckets[ida])run+=buckets[ida]; if(idb && idb>num-2 && buckets[idb])run+=buckets[idb]; if(num && buckets[num])run+=buckets[num]; if(run > longestRun) longestRun=run; prevNums = [idb,num]; } console.log(longestRun); }