Buggy python submission (verdict: Time Limit Exceeded):
N, X, Y = map(int, input().split())

ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(i+1, N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1
        min_dist = min(abs(i - j), tmp1, tmp2)

        ans[min_dist - 1] += 1

for i in range(N - 1):
    print(ans[i])

Fixed submission:
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Buggy python submission (verdict: Time Limit Exceeded):
N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(i, N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1
        min_dist = min(abs(i - j), tmp1, tmp2)

        ans[min_dist - 1] += 1

for i in range(N - 1):
    print(ans[i])

Fixed submission:
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Fixed submission:
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque

N, X, Y = map(int, input().split())

def bfs(n: int, graph: list) -> list:
    d = deque([n])
    check = [-1 for _ in range(N)]
    check[n] = 0
    while d:
        e = d.popleft()
        for i in range(N):
            if (graph[e][i]) == 1 and check[i] == -1:
                check[i] = 1 + check[e]
                d.append(i)
    return check


dist = [[0 for _ in range(N)] for _ in range(N)]
for i in range(N):
    for j in range(N):
        if abs(i - j) == 1:
            dist[i][j] = 1

dist[X-1][Y-1] = 1
dist[Y-1][X-1] = 1

ans = [0 for _ in range(N - 1)]
for i in range(N):
    tmp = bfs(i, dist)
    for j in range(i):
        ans[tmp[j]-1] += 1

for i in range(N - 1):
    print(ans[i])


Fixed submission:
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque

N, X, Y = map(int, input().split())

def bfs(n: int, graph: list) -> list:
    d = deque([n])
    check = [-1 for _ in range(N)]
    check[n] = 0
    while d:
        e = d.popleft()
        for i in range(N):
            if (graph[e][i]) == 1 and check[i] == -1:
                check[i] = 1 + check[e]
                d.append(i)
    return check


dist = [[0 for _ in range(N)] for _ in range(N)]
for i in range(N):
    for j in range(N):
        if abs(i - j) == 1:
            dist[i][j] = 1

dist[X-1][Y-1] = 1
dist[Y-1][X-1] = 1

ans = [0 for _ in range(N - 1)]
for i in range(N):
    tmp = bfs(i, dist)
    for j in range(i):
        ans[tmp[j]-1] += 1

for i in range(N - 1):
    print(ans[i])

Fixed submission:
from collections import deque

N, X, Y = map(int, input().split())

dist = [[0 for _ in range(N)] for _ in range(N)]
ans = [0 for _ in range(N)]

for i in range(N):
    for j in range(N):
        tmp1 = abs(i - X + 1) + abs(j - Y + 1) + 1
        tmp2 = abs(i - Y + 1) + abs(j - X + 1) + 1

        dist[i][j] = min(abs(i - j), tmp1, tmp2)
        dist[j][i] = min(abs(i - j), tmp1, tmp2)

for i in range(N):
    for j in range(i+1, N):
        ans[dist[i][j]-1] += 1

for i in range(N - 1):
    print(ans[i])