def main():

    import collections

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

    dp = [[0]*n for i in range(n)]



    for i in range(0,n):

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

            if i < x-1:

                if j < x:

                    dp[i][j] =dp[i][j-1] +1

                if j >= x and j < y:

                    dp[i][j] = dp[i][x-1]+min(j-x+1,y-j)

                if j >=y:

                    dp[i][j] = dp[i][y-1]+j-y+1

            

            if i >= x-1 and i < y-1:

                if j < y:

                    dp[i][j] = dp[i][x-1]+min(j-i,y-x+1-(j-i))

                if j >=y:

                    dp[i][j] = dp[i][y-1]+j-y+1

            

            if i >= y-1:

                dp[i][j] = dp[i][j-1] + 1

    

    dp_fl = dp[0]

    for i in range(1,n):

        dp_fl += dp[i]



    cnts = collections.Counter(dp_fl)



    for i in range(1,n):

        print((cnts.get(i,0)))

main()
def main2():

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

    cnts = [0]*n

    for i in range(n):

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

            dis = min(j-i,abs(x-1-i)+1+abs(y-1-j))

            cnts[dis]+=1

    

    for i in range(1,n):

        print((cnts[i]))

main2()
def main():
    import collections

    n, x, y = list(map(int, input().split(" ")))
    dp = [[0] * n for i in range(n)]
    for i in range(0, n):
        for j in range(i + 1, n):
            if i < x - 1:
                if j < x:
                    dp[i][j] = dp[i][j - 1] + 1
                if j >= x and j < y:
                    dp[i][j] = dp[i][x - 1] + min(j - x + 1, y - j)
                if j >= y:
                    dp[i][j] = dp[i][y - 1] + j - y + 1
            if i >= x - 1 and i < y - 1:
                if j < y:
                    dp[i][j] = dp[i][x - 1] + min(j - i, y - x + 1 - (j - i))
                if j >= y:
                    dp[i][j] = dp[i][y - 1] + j - y + 1
            if i >= y - 1:
                dp[i][j] = dp[i][j - 1] + 1
    dp_fl = dp[0]
    for i in range(1, n):
        dp_fl += dp[i]
    cnts = collections.Counter(dp_fl)
    for i in range(1, n):
        print((cnts.get(i, 0)))


main()

def main2():
    n, x, y = list(map(int, input().split(" ")))
    cnts = [0] * n
    for i in range(n):
        for j in range(i + 1, n):
            dis = min(j - i, abs(x - 1 - i) + 1 + abs(y - 1 - j))
            cnts[dis] += 1
    for i in range(1, n):
        print((cnts[i]))


main2()

-def main(): -    import collections - +def main2(): -    dp = [[0] * n for i in range(n)] -    for i in range(0, n): +    cnts = [0] * n +    for i in range(n): -            if i < x - 1: -                if j < x: -                    dp[i][j] = dp[i][j - 1] + 1 -                if j >= x and j < y: -                    dp[i][j] = dp[i][x - 1] + min(j - x + 1, y - j) -                if j >= y: -                    dp[i][j] = dp[i][y - 1] + j - y + 1 -            if i >= x - 1 and i < y - 1: -                if j < y: -                    dp[i][j] = dp[i][x - 1] + min(j - i, y - x + 1 - (j - i)) -                if j >= y: -                    dp[i][j] = dp[i][y - 1] + j - y + 1 -            if i >= y - 1: -                dp[i][j] = dp[i][j - 1] + 1 -    dp_fl = dp[0] +            dis = min(j - i, abs(x - 1 - i) + 1 + abs(y - 1 - j)) +            cnts[dis] += 1 -        dp_fl += dp[i] -    cnts = collections.Counter(dp_fl) -    for i in range(1, n): -        print((cnts.get(i, 0))) +        print((cnts[i])) -main() +main2()