n,x,y=list(map(int,input().split()))

ans=[0]*n #個数を数えるのにバケットを用意する

for i in range(1,n+1): #i<jなるすべての頂点の組について最短距離を求める

    for j in range(i+1,n+1):

        dist1=j-i

        dist2=abs(x-i)+abs(y-j)+1

        dist3=abs(y-i)+abs(x-j)+1

        d=min(dist1,dist2,dist3) #最短距離は上式により求められる

        ans[d]+=1 #最短距離がdとなる組の個数を1増やす

for i in range(1,n):

    print((ans[i]))
n,x,y=list(map(int,input().split()))

ans=[0]*n #個数を数えるのにバケットを用意する

for i in range(1,n+1): #i<jなるすべての頂点の組について最短距離を求める

    for j in range(i+1,n+1):

        dist1=j-i

        dist2=abs(x-i)+abs(y-j)+1

        d=min(dist1,dist2) #最短距離は上式により求められる

        ans[d]+=1 #最短距離がdとなる組の個数を1増やす

for i in range(1,n):

    print((ans[i]))
n, x, y = list(map(int, input().split()))
ans = [0] * n  # 個数を数えるのにバケットを用意する
for i in range(1, n + 1):  # i<jなるすべての頂点の組について最短距離を求める
    for j in range(i + 1, n + 1):
        dist1 = j - i
        dist2 = abs(x - i) + abs(y - j) + 1
        dist3 = abs(y - i) + abs(x - j) + 1
        d = min(dist1, dist2, dist3)  # 最短距離は上式により求められる
        ans[d] += 1  # 最短距離がdとなる組の個数を1増やす
for i in range(1, n):
    print((ans[i]))

n, x, y = list(map(int, input().split()))
ans = [0] * n  # 個数を数えるのにバケットを用意する
for i in range(1, n + 1):  # i<jなるすべての頂点の組について最短距離を求める
    for j in range(i + 1, n + 1):
        dist1 = j - i
        dist2 = abs(x - i) + abs(y - j) + 1
        d = min(dist1, dist2)  # 最短距離は上式により求められる
        ans[d] += 1  # 最短距離がdとなる組の個数を1増やす
for i in range(1, n):
    print((ans[i]))

-        dist3 = abs(y - i) + abs(x - j) + 1 -        d = min(dist1, dist2, dist3)  # 最短距離は上式により求められる +        d = min(dist1, dist2)  # 最短距離は上式により求められる