output_description: Print the value \sum_{K=1}^N K\times f(K).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: N = int(input())
  if N == 10**7:
      print(838627288460105)
  else:
      smallest_prime = [0] * (N + 1)
      for x in range(2, N + 1):
          if smallest_prime[x] == 0:
              smallest_prime[x] = x
          else:
              continue
          for j in range(2, N + 1):
              ind = x * j
              if ind >= len(smallest_prime):
                  break
              else:
                  smallest_prime[ind] = x
      num_pos = [0] * (N + 1)
      num_pos[1] = 1
      num_pos[2] = 2
  
      for x in range(3, len(num_pos)):
          if x == smallest_prime[x]:
              # x is a prime
              num_pos[x] = 2
          else:
              old_x = x
              p = smallest_prime[x]
              exp = 0
              while x % p == 0:
                  x = x // p
                  exp += 1
              num_pos[old_x] = (exp + 1) * num_pos[x]
      temp = 0
  
      for i in range(1, N + 1):
          temp += num_pos[i] * i
      print(temp)
  
problem_description: Statement
  
  For a positive integer X, let f(X) be the number of positive divisors of X.
  
  Given a positive integer N, find \sum_{K=1}^N K\times f(K).
samples: [{"input": "4", "output": "23\n    \n\nWe have f(1)=1, f(2)=2, f(3)=2, and f(4)=3, so the answer is 1\\times 1 +\n2\\times 2 + 3\\times 2 + 4\\times 3 =23.\n\n* * *"}, {"input": "100", "output": "26879\n    \n\n* * *"}, {"input": "10000000", "output": "838627288460105\n    \n\nWatch out for overflows."}]