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 if (n < 5 || n > 200000) { console.log("n is out of range"); return; } var mapCount = {}, maxKey; // keeps track of count for each type var max = 0; for (var i = 0; i < n; i++ ) { if (mapCount[types[i]] == undefined ) { mapCount[types[i]] = 1; } else { mapCount[types[i]]++; } if (mapCount[types[i]] > max ) { maxKey = types[i] max = mapCount[types[i]] } } for (var key in mapCount) { if (mapCount[key] == max && key <= maxKey) { console.log(key); break; } } }