Problem:
Score : 300 points

Problem Statement

Given is a positive integer N.
How many tuples (A,B,C) of positive integers satisfy A \times B + C = N?

Constraints

2 \leq N \leq 10^6

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer.

Sample Input 1

3

Sample Output 1

3

There are 3 tuples of integers that satisfy A \times B + C = 3: (A, B, C) = (1, 1, 2), (1, 2, 1), (2, 1, 1).

Sample Input 2

100

Sample Output 2

473

Sample Input 3

1000000

Sample Output 3

13969985

Solution in Ruby (2.7.1) (judge verdict: Accepted)

N=gets.to_i
n1 = N - 1
n2 = n1
res = 0
ans = []
tmp = 0
[*1..n1].each do |a|
  [*1..n2].each do |b|
    tmp = b
    #p "#{a} #{b}"
    if a * b <= (N - 1)
      res += 1
      #ans << [a, b]
    else
      break
    end
  end
  n2 = tmp
end
p res
#abc = (N-1) * 2 # [*1..[*1..N-1].size].size
#p abc
#p ([*1..N-1].sum * 2) + (N / 2 - 1) + 1
=begin
res = 0
ans = []
ab=[*1..(N-1)].repeated_permutation(2).to_a

ab.each do |a, b|
  if a * b <= (N - 1)
    res += 1
    ans << [a, b]
  end
end
=end
#p ans
#p res