28237
 13190
 39914
 81367
 8554
 61106
 67448
 39004
 22308
 16054
 71468
 60501
 100
 300
 59632
 90783
 5611
 1000
 69475
 69753
 10
 5
 582
 8
 36961
 5071
 20
 53213
 92775
 28738
 100000
 92280
 37944
 9
 2627
 7
 3

1028306548 224346172 2054738392 8539207488 94344524 4816051228 5867563092 1962150044 641839188 332342852 6587875268 4721174212 12600 115440 4586497300 10630118936 40580456 1286328 6225539588 6275533596 92 8 434692 52 1762017168 33141852 440 3652070664 11101694484 1065137992 12898363344 10983871880 1856988304 64 8885348 28 0
import java.io.*;
import java.util.*;

public class D {

	public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	public static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));

	public static void main(String[] args) throws IOException {
		readInput();
		out.close();
	}
	
	public static void readInput() throws IOException {
		// br = new BufferedReader(new FileReader(".in"));
		// out = new PrintWriter(new FileWriter(".out"));
		// If this works this is SO fucking cool.
		// Build a graph with a sieve, then DFS down connected components. I will just assume that you can pick up everything connected.
		// within a tour by some euler tour logic given negatives, if i'm wrong i'm wrong. 
		// Going through every possible connection will probably TLE, how to reduce?
		// All primes > n/2 will get fucked. Ignore those.
		// Now, we can use a sieve to add up, and double, also double again for reverse connections (2>4, 4>2). So quad.
		long ans = 0;
		int n = Integer.parseInt(br.readLine());
		for (int i = 2; i <= n/2; i++) {
			long bias = 2;
			for (int j = i*2; j <= n; j+=i) {
				ans += bias*4;
				bias++;
			}
		}
		out.println(ans);
	}
}
