Problem:
Score : 400 points

Problem Statement

Takahashi had a pair of two positive integers not exceeding N, (a,b), which he has forgotten.
He remembers that the remainder of a divided by b was greater than or equal to K.
Find the number of possible pairs that he may have had.

Constraints

1 \leq N \leq 10^5

0 \leq K \leq N-1

All input values are integers.

Input

Input is given from Standard Input in the following format:

N K

Output

Print the number of possible pairs that he may have had.

Sample Input 1

5 2

Sample Output 1

7

There are seven possible pairs: (2,3),(5,3),(2,4),(3,4),(2,5),(3,5) and (4,5).

Sample Input 2

10 0

Sample Output 2

100

Sample Input 3

31415 9265

Sample Output 3

287927211

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Linq;
using System.Collections.Generic;
using static System.Console;
using System.Text;
using System.IO;
using static System.Math;
namespace AtCoder
{
    class Program
    {
        static public long[] Sarray() { return ReadLine().Split().Select(long.Parse).ToArray(); }
        static public List<long> Slist() { return ReadLine().Split().Select(long.Parse).ToList(); }
        static long Mod = (long)1e9 + 7;
        static void Main(string[] args)
        {
            //SetOut(new StreamWriter(OpenStandardOutput()) { AutoFlush = false });
            var NK = Sarray();
            var N = NK[0];
            var K = NK[1];
            // a,bは正の整数なので1～Nの組み合わせ
            if (0 == K)
            {
                WriteLine(N * N);
                return;
            }
            // a=\alpha b + K \leq N
            // \alpha=0のとき
            var ans = (N - K) * (N - K + 1) / 2;
            // K+1<=b
            // \alpha(K+1)+K\ leq \alpha b +K\leq N
            // \alpha (K+1) leq N-K
            for (var i = 1; i * (K + 1) <= N - K; ++i)
            {
                // a= \alpha b + K <= N
                for (var b = K + 1; i * b + K <= N; ++b)
                    ans += Min(N, (i + 1) * b - 1) - (i * b + K) + 1;//K以上になるa = \alpha b + K～(\alpha +1)b-1(上限はN)
            }
            WriteLine(ans);
            //Out.Flush();
        }
    }
}