Buggy python submission (verdict: Time Limit Exceeded):
N = int(input())
counter = 0
for n in range(1, N):
    for i in range(1, int(n ** 0.5) + 1):   
        if n % i == 0:
            if i != n // i: 
                counter += 2
            else:
                counter += 1

print(counter)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Time Limit Exceeded):
def count_divisors(n):
    counter = 0
    for i in range(1, int(n ** 0.5) + 1):
        if n % i == 0:
            if i != n // i: 
                counter += 2
            else:
                counter += 1
    return counter

# A * B  = N - C
N = int(input())
count = 0
for i in range(1, N):
    count += count_divisors(i)

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Time Limit Exceeded):
def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

# A * B  = N - C
N = int(input())
count = 0
for i in range(1, N):
    count += len(make_divisors(i))

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Time Limit Exceeded):
def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

# A * B  = N - C
N = int(input())
count = 0
for i in range(1, N):
    count += len(make_divisors(i))

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Time Limit Exceeded):
def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

# A * B  = N - C
N = int(input())
count = 0
for i in range(1, N):
    AB = N - i
    count += len(make_divisors(AB))

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Runtime Error):
# A * B  = N - C
N = int(input())
count = 0
for i in range(1, N):
    AB = N - i
    count += len(make_divisors(AB))

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Runtime Error):
N = int(input())
count = 0
for i in range(1, N):
    AB_product = N - i
    count += count_divisors(AB_product)

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)

Buggy python submission (verdict: Runtime Error):
N = int(input())
count = 0
for i in range(1, N):
    AB_product = N - i
    count += count_divisors(AB_product)

print(count)

Fixed submission:
N = int(input())

N_m1 = N - 1
counter = 0
for i in range(1, N_m1 + 1):
    counter += N_m1 // i

print(counter)