from collections import deque



def main():

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

    cnt = [0]*n

    q = deque()

    

    for i in range(n):

        q.appendleft([i, 0])

        dist = [None]*n

        dist[i] = 0

        while q:

            j, d = q.pop()

            cnt[d] += 1

            if j > 0 and dist[j-1] is None:

                dist[j-1] = d+1

                q.appendleft([j-1, d+1])

            if j < n-1 and dist[j+1] is None:

                dist[j+1] = d+1

                q.appendleft([j+1, d+1])

            if j == x-1 and dist[y-1] is None:

                dist[y-1] = d+1

                q.appendleft([y-1, d+1])

            elif j == y-1 and dist[x-1] is None:

                dist[x-1] = d+1

                q.appendleft([x-1, d+1])

    for i in range(1, n):

        print((cnt[i]//2))

                



if __name__ == "__main__":

    main()
from collections import deque



def main():

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

    cnt = [0]*n

    q = deque()

    

    for i in range(n):

        q.appendleft(i)

        dist = [None]*n

        dist[i] = 0

        while q:

            j = q.pop()

            d = dist[j]

            cnt[d] += 1

            if j > 0 and dist[j-1] is None:

                dist[j-1] = d+1

                q.appendleft(j-1)

            if j < n-1 and dist[j+1] is None:

                dist[j+1] = d+1

                q.appendleft(j+1)

            if j == x-1 and dist[y-1] is None:

                dist[y-1] = d+1

                q.appendleft(y-1)

            elif j == y-1 and dist[x-1] is None:

                dist[x-1] = d+1

                q.appendleft(x-1)

    for i in range(1, n):

        print((cnt[i]//2))

                



if __name__ == "__main__":

    main()
from collections import deque


def main():
    n, x, y = list(map(int, input().split()))
    cnt = [0] * n
    q = deque()
    for i in range(n):
        q.appendleft([i, 0])
        dist = [None] * n
        dist[i] = 0
        while q:
            j, d = q.pop()
            cnt[d] += 1
            if j > 0 and dist[j - 1] is None:
                dist[j - 1] = d + 1
                q.appendleft([j - 1, d + 1])
            if j < n - 1 and dist[j + 1] is None:
                dist[j + 1] = d + 1
                q.appendleft([j + 1, d + 1])
            if j == x - 1 and dist[y - 1] is None:
                dist[y - 1] = d + 1
                q.appendleft([y - 1, d + 1])
            elif j == y - 1 and dist[x - 1] is None:
                dist[x - 1] = d + 1
                q.appendleft([x - 1, d + 1])
    for i in range(1, n):
        print((cnt[i] // 2))


if __name__ == "__main__":
    main()

from collections import deque


def main():
    n, x, y = list(map(int, input().split()))
    cnt = [0] * n
    q = deque()
    for i in range(n):
        q.appendleft(i)
        dist = [None] * n
        dist[i] = 0
        while q:
            j = q.pop()
            d = dist[j]
            cnt[d] += 1
            if j > 0 and dist[j - 1] is None:
                dist[j - 1] = d + 1
                q.appendleft(j - 1)
            if j < n - 1 and dist[j + 1] is None:
                dist[j + 1] = d + 1
                q.appendleft(j + 1)
            if j == x - 1 and dist[y - 1] is None:
                dist[y - 1] = d + 1
                q.appendleft(y - 1)
            elif j == y - 1 and dist[x - 1] is None:
                dist[x - 1] = d + 1
                q.appendleft(x - 1)
    for i in range(1, n):
        print((cnt[i] // 2))


if __name__ == "__main__":
    main()

-        q.appendleft([i, 0]) +        q.appendleft(i) -            j, d = q.pop() +            j = q.pop() +            d = dist[j] -                q.appendleft([j - 1, d + 1]) +                q.appendleft(j - 1) -                q.appendleft([j + 1, d + 1]) +                q.appendleft(j + 1) -                q.appendleft([y - 1, d + 1]) +                q.appendleft(y - 1) -                q.appendleft([x - 1, d + 1]) +                q.appendleft(x - 1)