import java.util.*; public class codeSprint12_breakingSticks { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); long fsum=0; while(n-->0) { long x = scan.nextLong(); int size = (int)(2*Math.sqrt(x)); long a[] = new long[size]; int k=0; for(int i=1;i<=Math.sqrt(x);i++) { if(x%i==0) { a[k++]=i; if(x/i!=i) { a[k++] = x/i; } } } Arrays.sort(a); //for(int i=0;i=0;i--) { if(a[i]!=0) { if(a[i]<=x/2) { st = a[i]; break; } } } //System.out.println("Start: "+ st); long sum = x; while(true) { if(st>0) sum = sum + st; if(st<=1) break; int size2 = (int)(2*Math.sqrt(st)); long b[] = new long[size2]; int k2 = 0; for(int i=1;i<=Math.sqrt(st);i++) { if(st%i==0) { b[k2++]=i; if(st/i!=i) { b[k2++]=st/i; } } } Arrays.sort(b); for(int i=size2-1;i>=0;i--) { if(b[i]!=0) { if(b[i]<=st/2) { st = b[i]; break; } } } //System.out.print(st+" "); } //System.out.println(sum+1); fsum = fsum + sum; } System.out.println(fsum); } }