#include #pragma GCC optimize(8) #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma") #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize("-fgcse-lm") #pragma GCC optimize("-fipa-sra") #pragma GCC optimize("-ftree-pre") #pragma GCC optimize("-ftree-vrp") #pragma GCC optimize("-fpeephole") #pragma GCC optimize("-ffast-math") #pragma GCC optimize("-fsched-spec") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("-falign-jumps") #pragma GCC optimize("-falign-loops") #pragma GCC optimize("-falign-labels") #pragma GCC optimize("-fdevirtualize") #pragma GCC optimize("-fcaller-saves") #pragma GCC optimize("-fcrossjumping") #pragma GCC optimize("-fthread-jumps") #pragma GCC optimize("-funroll-loops") #pragma GCC optimize("-fwhole-program") #pragma GCC optimize("-freorder-blocks") #pragma GCC optimize("-fschedule-insns") #pragma GCC optimize("inline-functions") #pragma GCC optimize("-ftree-tail-merge") #pragma GCC optimize("-fschedule-insns2") #pragma GCC optimize("-fstrict-aliasing") #pragma GCC optimize("-fstrict-overflow") #pragma GCC optimize("-falign-functions") #pragma GCC optimize("-fcse-skip-blocks") #pragma GCC optimize("-fcse-follow-jumps") #pragma GCC optimize("-fsched-interblock") #pragma GCC optimize("-fpartial-inlining") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("-freorder-functions") #pragma GCC optimize("-findirect-inlining") #pragma GCC optimize("-fhoist-adjacent-loads") #pragma GCC optimize("-frerun-cse-after-loop") #pragma GCC optimize("inline-small-functions") #pragma GCC optimize("-finline-small-functions") #pragma GCC optimize("-ftree-switch-conversion") #pragma GCC optimize("-foptimize-sibling-calls") #pragma GCC optimize("-fexpensive-optimizations") #pragma GCC optimize("-funsafe-loop-optimizations") #pragma GCC optimize("inline-functions-called-once") #pragma GCC optimize("-fdelete-null-pointer-checks") #pragma GCC optimize("unroll 8") using namespace std; #define int long long const int N = 4e5 + 10; int n, a[N], cnt[N], ans, sum; #include #include unsigned char buf[1<<20], *p1, *p2; #define gc() (p1==p2 && (p2=(p1=buf)+fread(buf,1,1<<20,stdin)),*p1++) int readint() { int k = 0, f = 1, c = gc(); for (; !isdigit(c); c = gc()) if (c == '-') f = -1; for (; isdigit(c); c = gc()) k = k * 10 + (c ^ 48); return k * f; } void out(int x) { if(x<0)putchar('-'),x=-x; if(x<10)putchar(x+'0'); else out(x/10), putchar(x%10+'0'); } signed main(){ //ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); // freopen("mod.in", "r", stdin); // freopen("mod.out", "w", stdout); n = readint(); for(int i = 1; i <= n; i++){ a[i] = readint(); cnt[a[i]]++; ans += n * a[i]; } for(int i = 1; i <= 4e5; i++){ cnt[i] += cnt[i - 1]; } for(int i = 1; i <= 2e5; i++){ int ttt = cnt[i] - cnt[i - 1]; for(int j = 0; j * i <= 2e5; j++){ int c = 0; if(j * i - 1 >= 0){ c = cnt[(j + 1) * i - 1] - cnt[i * j - 1]; } else{ c = cnt[(j + 1) * i - 1]; } sum += c * ttt * i * j; } } out(ans - sum); return 0; }