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 getAllDeviders(number) { let currentDevider = 2; const deviders = []; while (currentDevider <= number) { if (number % currentDevider === 0) { number = number / currentDevider; deviders.push(currentDevider); } else { currentDevider++; } } return deviders.reverse(); } function longestSequence(a) { const lengthList = a.map(element => { let currentSum = 0; let currentElement = 1; const deviders = getAllDeviders(element); deviders.forEach(devider => { currentSum += currentElement; currentElement *= devider; }) currentSum += currentElement; return currentSum; }) const sum = lengthList.reduce((total, element) => total + element, 0); return sum; } function main() { var n = parseInt(readLine()); a = readLine().split(' '); a = a.map(Number); var result = longestSequence(a); process.stdout.write("" + result + "\n"); }