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()); types = readLine().split(' '); types = types.map(Number); // your code goes here var sums = types.reduce(function(final, curr) { final[curr] = final[curr] ? final[curr] + 1 : 1; return final; }, {}) var result = Object.keys(sums).reduce(function(prev, curr) { if (sums[curr] > sums[prev] || sums[curr] === sums[prev] && parseInt(curr) < parseInt(prev)) { return curr; } return prev; }) console.log(result) }