Buggy python submission (verdict: Time Limit Exceeded):
from collections import defaultdict
N=input()
L=defaultdict(lambda: 1)
L[1]=1
for skip in range(2,N+1):
    for i in range(skip,N+1,skip):
        L[i]+=1
ans=0
for k in range(1,N+1):
    ans+=k*L[k]

print ans


Fixed submission:
# -*- coding: utf-8 -*-
import math
N=input()
A=[ 2 for _ in range(N+1)]
A[0]=0
A[1]=1

for cur in range(2,N+1):
    for i in range(cur*2,N+1,cur):
        A[i]+=1

ans=0
for i in range(1,N+1):
    ans+=i*A[i]
print ans

Buggy python submission (verdict: Time Limit Exceeded):
# -*- coding: utf-8 -*-
import math
N=input()

def get_primenumber(number):#エラトステネスの篩
    prime_list = []
    search_list = list(range(2,number+1))
    #search_listの先頭の値が√nの値を超えたら終了
    while search_list[0] <= math.sqrt(number):
      #search_listの先頭の値が√nの値を超えたら終了
      #search_listの先頭をprime_listに入れて、先頭をリストに追加して削除
        head_num = search_list.pop(0)
        prime_list.append(head_num)
        #head_numの倍数を除去
        search_list = [num for num in search_list if num % head_num != 0]
    #prime_listにsearch_listを結合
    prime_list.extend(search_list)
    return prime_list

SOSU=get_primenumber(10**6)

#素因数分解
def factorization(n):
    arr = []
    temp = n
    #for i in range(2, int(-(-n**0.5//1))+1):
    for i in SOSU:
        if int(-(-n**0.5//1))+1<i:
            break
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr


ans=1
for i in range(2,N+1):
    L=factorization(i)
    fi=1
    for x,y in L:
        fi*=(y+1)
    ans+=i*fi
print ans

Fixed submission:
# -*- coding: utf-8 -*-
import math
N=input()
A=[ 2 for _ in range(N+1)]
A[0]=0
A[1]=1

for cur in range(2,N+1):
    for i in range(cur*2,N+1,cur):
        A[i]+=1

ans=0
for i in range(1,N+1):
    ans+=i*A[i]
print ans

Buggy python submission (verdict: Time Limit Exceeded):
# -*- coding: utf-8 -*-
N=input()

#素因数分解
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr

ans=1
for i in range(2,N+1):
    L=factorization(i)
    fi=1
    for x,y in L:
        fi*=(y+1)
    ans+=i*fi
print ans

Fixed submission:
# -*- coding: utf-8 -*-
import math
N=input()
A=[ 2 for _ in range(N+1)]
A[0]=0
A[1]=1

for cur in range(2,N+1):
    for i in range(cur*2,N+1,cur):
        A[i]+=1

ans=0
for i in range(1,N+1):
    ans+=i*A[i]
print ans

Buggy python submission (verdict: Time Limit Exceeded):
# -*- coding: utf-8 -*-
N=input()

#約数列挙
def make_divisors(n):
    divisors=[]
    ret=0
    for i in range(1, int(n**0.5)+1):
        if n%i==0:
            ret+=1
            if i!=n/i:
                ret+=1
    return ret

ans=0
for i in range(1,N+1):
    ans+=i*make_divisors(i)
print ans


Fixed submission:
# -*- coding: utf-8 -*-
import math
N=input()
A=[ 2 for _ in range(N+1)]
A[0]=0
A[1]=1

for cur in range(2,N+1):
    for i in range(cur*2,N+1,cur):
        A[i]+=1

ans=0
for i in range(1,N+1):
    ans+=i*A[i]
print ans