import std.stdio, std.algorithm, std.range, std.format, std.numeric, std.string, std.conv, std.array;

void main() {
    int n, k;
    readf("%d %d\n", &n, &k);
    // 1 <= a, b <= n
    // b > a % b >= k >= 0
    // n / b             : a%b = 0 となる値の個数
    // n / b * (b - k)   : n - (n % b) までで余りが b > a%b >= k となる個数
    // max(0, n % b - k + min(k, 1)) : n % b >= k となる個数
    // n / b * (b - k) + max(0, n % b - min(k, 1)) : 余りが b > a%b >= k となる個数
    size_t count = 0;
    immutable mk = min(1, k) - k;
    foreach (b; k + 1.. n + 1) {
        count += n / b * (b - k) + max(0, n % b + mk);
    }
    writeln(count);
}
