Buggy python submission (verdict: Time Limit Exceeded):
# D - Line++
from collections import deque

INF = 1001001001

n, x, y = map(int, input().split())
x -= 1
y -= 1
ans = [0]*n

for i in range(n):
    dist = [INF]*n
    q = deque()
    dist[i] = 0
    q.append(i)
    
    while len(q)>0:
        v = q.popleft()
        d = dist[v]
        if v-1 >= 0:
            if dist[v-1]==INF:
                q.append(v-1)
                dist[v-1]=d+1
        if v+1 < n:
            if dist[v+1]==INF:
                q.append(v+1)
                dist[v+1]=d+1
        if v==x:
            if dist[y]==INF:
                q.append(y)
                dist[y]=d+1
        if v==y:
            if dist[x]==INF:
                q.append(x)
                dist[x]=d+1
    for d in dist:
        if d!=0 and d!=INF:
            ans[d] += 1

for a in ans[1:]:
    print(int(a//2))


Fixed submission:
# D - Line++

N, X, Y = map(int, input().split())
X -= 1
Y -= 1
cnt = [0] * N

for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X)+abs(j-Y)+1)
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])

Buggy python submission (verdict: Time Limit Exceeded):
# D - Line++
from collections import deque

INF = 1001001001

n, x, y = map(int, input().split())
x -= 1
y -= 1
ans = [0]*n

for i in range(n):
    dist = [INF]*n
    q = deque()
    dist[i] = 0
    q.append(i)
    
    while len(q)>0:
        v = q.popleft()
        d = dist[v]
        if v-1 >= 0 and dist[v-1]==INF:
            q.append(v-1)
            dist[v-1]=d+1
        if v+1 < n and dist[v+1]==INF:
            q.append(v+1)
            dist[v+1]=d+1
        if v==x and dist[y]==INF:
            q.append(y)
            dist[y]=d+1
        if v==y and dist[x]==INF:
            q.append(x)
            dist[x]=d+1
    for d in dist:
        if d!=0 and d!=INF:
            ans[d] += 1

for a in ans[1:]:
    print(int(a//2))


Fixed submission:
# D - Line++

N, X, Y = map(int, input().split())
X -= 1
Y -= 1
cnt = [0] * N

for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X)+abs(j-Y)+1)
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])

Buggy python submission (verdict: Time Limit Exceeded):
# D - Line++
import numpy as np 

N, X, Y = map(int, input().split())
cnt = np.zeros(N, dtype=np.int64)
T = np.zeros((N,N), dtype=np.int64)
for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X+1)+abs(j-Y+1)+1)
         T[i,j] = tmp
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])

Fixed submission:
# D - Line++

N, X, Y = map(int, input().split())
X -= 1
Y -= 1
cnt = [0] * N

for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X)+abs(j-Y)+1)
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])

Buggy python submission (verdict: Runtime Error):
# D - Line++
import numpy as np 

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

T = np.zeros((N,N), dtype=np.int64)
for i in range(N):
    for j in range(i+1,N):
        T[i,j] = min(j-i, abs(i-X+1)+abs(j-Y+1)+1)

for k in range(1, N):
    print(np.count_nonzero(T==k))


Fixed submission:
# D - Line++

N, X, Y = map(int, input().split())
X -= 1
Y -= 1
cnt = [0] * N

for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X)+abs(j-Y)+1)
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])

Buggy python submission (verdict: Time Limit Exceeded):
# D - Line++
import numpy as np 

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

T = np.zeros((N,N), dtype=np.int64)
for i in range(N):
    for j in range(i+1,N):
        T[i,j] = min(j-i, abs(i-X+1)+abs(j-Y+1)+1)

for k in range(1, N):
    print(np.count_nonzero(T==k))


Fixed submission:
# D - Line++

N, X, Y = map(int, input().split())
X -= 1
Y -= 1
cnt = [0] * N

for i in range(N):
    for j in range(i+1,N):
         tmp = min(j-i, abs(i-X)+abs(j-Y)+1)
         cnt[tmp] += 1

for k in range(1, N):
    print(cnt[k])