#約数の個数の和（１~N）約数そのものを求めないので「速い」

def yakusu_num(N):

    ans =0

    for i in range(1,N+1):

        ans +=N//i #項数

    return ans





# 初期入力

import sys

input = sys.stdin.readline  #文字列では使わない



N = int(eval(input()))

ans =yakusu_num(N-1)



print(ans)
#約数の個数の和（１~N）約数そのものを求めないので「速い」

def divisor_num(N):

    ans =0

    for i in range(1,N):

        ans +=(N-1)//i #項数

    return ans





# 初期入力

import sys

input = sys.stdin.readline  #文字列では使わない



N = int(eval(input()))

ans =divisor_num(N)



print(ans)
# 約数の個数の和（１~N）約数そのものを求めないので「速い」
def yakusu_num(N):
    ans = 0
    for i in range(1, N + 1):
        ans += N // i  # 項数
    return ans


# 初期入力
import sys

input = sys.stdin.readline  # 文字列では使わない
N = int(eval(input()))
ans = yakusu_num(N - 1)
print(ans)

# 約数の個数の和（１~N）約数そのものを求めないので「速い」
def divisor_num(N):
    ans = 0
    for i in range(1, N):
        ans += (N - 1) // i  # 項数
    return ans


# 初期入力
import sys

input = sys.stdin.readline  # 文字列では使わない
N = int(eval(input()))
ans = divisor_num(N)
print(ans)

-def yakusu_num(N): +def divisor_num(N): -    for i in range(1, N + 1): -        ans += N // i  # 項数 +    for i in range(1, N): +        ans += (N - 1) // i  # 項数 -ans = yakusu_num(N - 1) +ans = divisor_num(N)