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 soryBy(a,b) { return a-b; } function main() { var n = parseInt(readLine()); types = readLine().split(' '); types = types.map(Number); // your code goes here types.sort(soryBy()); var objTypeMap = []; var objCountMap = []; for (var i in types){ var hold = objTypeMap.indexOf(types[i]); if (hold < 0){ objTypeMap.push(types[i]); objCountMap.push(1); } else objCountMap[hold] = ++objCountMap[hold]; } var maxNoIndex = Math.max.apply( null, objCountMap ); console.log(objTypeMap[objCountMap.indexOf(maxNoIndex)]); }