Buggy python submission (verdict: Time Limit Exceeded):
n ,x, y = map(int, input().split())

sub_degree = [0]*n
for i in range(n):
    for j in range(i+1, n):
        a = min(abs(j-i), abs(x-1-i)+1+abs(j-y+1), abs(y-1-i)+1+abs(j-x+1))-1
        sub_degree[a]+=1

for i in range(n-1):
    print(sub_degree[i])


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

ans = [0]*N

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

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

Buggy python submission (verdict: Time Limit Exceeded):
n ,x, y = map(int, input().split())

sub_degree = [0]*n
for i in range(n):
    for j in range(i+1, n):
        sub_degree[min(abs(j-i), abs(x-1-i)+1+abs(j-y+1), abs(y-1-i)+1+abs(j-x+1))-1]+=1

for i in range(n-1):
    print(sub_degree[i])


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

ans = [0]*N

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

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

Buggy python submission (verdict: Time Limit Exceeded):
n ,x, y = map(int, input().split())
'''
degree_all = []
d = [float('inf')]*n
for i in range(n):
    degree_all.append(d)
for i in range(n-1):
    degree_all[i][i] = 0
    if i != n-1:
        degree_all[i][i+1] = 1
        #degree_all[i+1][i] = 1
'''
sub_degree = [0]*n
for i in range(n):
    for j in range(i+1, n):
        sub_degree[min(abs(j-i), abs(x-1-i)+1+abs(j-y+1), abs(y-1-i)+1+abs(j-x+1))-1]+=1
'''
for i in range(n-1):
    for j in range(i+1, n):
        sub_degree[degree_all[i][j]-1] +=1
        #print(degree_all[i][j])
#print("aaaa")
'''
for i in range(n-1):
    print(sub_degree[i])


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

ans = [0]*N

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

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

Buggy python submission (verdict: Time Limit Exceeded):
n ,x, y = map(int, input().split())
degree_all = []
d = [float('inf')]*n
for i in range(n):
    degree_all.append(d)
for i in range(n):
    degree_all[i][i] = 0
    if i != n-1:
        degree_all[i][i+1] = 1
        #degree_all[i+1][i] = 1
sub_degree = [0]*n
for i in range(n):
    for j in range(i+1, n):
        sub_degree[min(abs(j-i), abs(x-1-i)+1+abs(j-y+1), abs(y-1-i)+1+abs(j-x+1))-1]+=1
'''
for i in range(n-1):
    for j in range(i+1, n):
        sub_degree[degree_all[i][j]-1] +=1
        #print(degree_all[i][j])
#print("aaaa")
'''
for i in range(n-1):
    print(sub_degree[i])


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

ans = [0]*N

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

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

Buggy python submission (verdict: Time Limit Exceeded):
n ,x, y = map(int, input().split())
degree_all = []
for i in range(n):
    degree_all.append([float('inf')]*n)
for i in range(n):
    degree_all[i][i] = 0
    if i != n-1:
        degree_all[i][i+1] = 1
        degree_all[i+1][i] = 1

for i in range(n):
    for j in range(i+1, n):
        degree_all[i][j] = min(abs(j-i), abs(x-1-i)+1+abs(j-y+1), abs(y-1-i)+1+abs(j-x+1))
sub_degree = [0]*n
for i in range(n-1):
    for j in range(i+1, n):
        sub_degree[degree_all[i][j]-1] +=1
        #print(degree_all[i][j])
#print("aaaa")
for i in range(n-1):
    print(sub_degree[i])


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

ans = [0]*N

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

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

Buggy python submission (verdict: Time Limit Exceeded):
def warshall_floyd(d):
    for k in range(n):
        for i in range(n):
            for j in range(n):
                d[i][j] = min(d[i][j],d[i][k] + d[k][j])
    return d

def sub(d):
    #listを引数にとる
    sub_ls = []
    #print("")
    for i in range(n):
        for j in range(i+1, n):
            #print(d[i][j])
            sub_ls.append(d[i][j])
    sub_ls.sort()
    #print(sub_ls)
    k = 1
    cnt = 0
    ll = 1
    #print("")
    for i in range(len(sub_ls)):
        if k == sub_ls[i]:
            cnt+=1
        else:
            print(cnt)
            cnt = 1
            k+=1
            ll+=1
    if cnt != 0:
        print(cnt)
        ll+=1
    for i in range(ll, n):
        print(0)
    return

n,x, y = map(int,input().split())
d = [[float("inf")]*n for i in range(n)]

for i in range(n-1):
    d[i][i+1] = 1
    d[i+1][i] = 1
for i in range(n):
    d[i][i] = 0
d[x-1][y-1] = 1
d[y-1][x-1] = 1
#print(d,"\n")
a = warshall_floyd(d)
#print(warshall_floyd(d))
sub(a)


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

ans = [0]*N

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

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