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 let mostFrequentId = 0; //id let temp = 0; //frequency const tally = types.sort().reduce( (obj, item) => { if (!obj[item]) { obj[item] = 0; } obj[item]++; return obj; }, {}); for (let type in tally) { if (tally[type] > temp) { temp = tally[type]; mostFrequentId = type; } else if (tally[type] === temp && type < mostFrequentId) { mostFrequentId = type; } } console.log(mostFrequentId); }