from collections import defaultdict, deque

def solve():

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

    X -= 1

    Y -= 1

    cnter = defaultdict(int)



    for i in range(N):

        for j in range(i,N):

            n_step = min(abs(j-i), abs(X-i)+1+abs(Y-j), abs(Y-i)+1+abs(j-X))

            cnter[n_step] += 1

    

    for i in range(1,N):

        print((cnter[i]))





if __name__ == '__main__':

    solve()
from collections import deque

def solve():

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

    X -= 1

    Y -= 1

    ans = [0] * N



    for start_vertex in range(N):

        q = deque()

        distance_list = [float('inf')] * N



        def push(vertex, distance):

            if distance_list[vertex] != float('inf'):

                return

            q.append(vertex)

            distance_list[vertex] = distance

        

        push(start_vertex, 0)



        while len(q) > 0:

            vertex = q.popleft()

            distance = distance_list[vertex]



            if vertex - 1 >= 0:

                push(vertex-1, distance+1)

            if vertex + 1 < N:

                push(vertex+1, distance+1)

            if vertex == X:

                push(Y, distance+1)

            if vertex == Y:

                push(X, distance+1)

        

        for i in distance_list:

            ans[i] += 1

    

    ans = list(map(lambda x: x // 2, ans))

    print(*ans[1:], sep='\n')



if __name__ == '__main__':

    solve()

from collections import defaultdict, deque


def solve():
    N, X, Y = list(map(int, input().split()))
    X -= 1
    Y -= 1
    cnter = defaultdict(int)
    for i in range(N):
        for j in range(i, N):
            n_step = min(
                abs(j - i), abs(X - i) + 1 + abs(Y - j), abs(Y - i) + 1 + abs(j - X)
            )
            cnter[n_step] += 1
    for i in range(1, N):
        print((cnter[i]))


if __name__ == "__main__":
    solve()

from collections import deque


def solve():
    N, X, Y = map(int, input().split())
    X -= 1
    Y -= 1
    ans = [0] * N
    for start_vertex in range(N):
        q = deque()
        distance_list = [float("inf")] * N

        def push(vertex, distance):
            if distance_list[vertex] != float("inf"):
                return
            q.append(vertex)
            distance_list[vertex] = distance

        push(start_vertex, 0)
        while len(q) > 0:
            vertex = q.popleft()
            distance = distance_list[vertex]
            if vertex - 1 >= 0:
                push(vertex - 1, distance + 1)
            if vertex + 1 < N:
                push(vertex + 1, distance + 1)
            if vertex == X:
                push(Y, distance + 1)
            if vertex == Y:
                push(X, distance + 1)
        for i in distance_list:
            ans[i] += 1
    ans = list(map(lambda x: x // 2, ans))
    print(*ans[1:], sep="\n")


if __name__ == "__main__":
    solve()

-from collections import defaultdict, deque +from collections import deque -    N, X, Y = list(map(int, input().split())) +    N, X, Y = map(int, input().split()) -    cnter = defaultdict(int) -    for i in range(N): -        for j in range(i, N): -            n_step = min( -                abs(j - i), abs(X - i) + 1 + abs(Y - j), abs(Y - i) + 1 + abs(j - X) -            ) -            cnter[n_step] += 1 -    for i in range(1, N): -        print((cnter[i])) +    ans = [0] * N +    for start_vertex in range(N): +        q = deque() +        distance_list = [float("inf")] * N + +        def push(vertex, distance): +            if distance_list[vertex] != float("inf"): +                return +            q.append(vertex) +            distance_list[vertex] = distance + +        push(start_vertex, 0) +        while len(q) > 0: +            vertex = q.popleft() +            distance = distance_list[vertex] +            if vertex - 1 >= 0: +                push(vertex - 1, distance + 1) +            if vertex + 1 < N: +                push(vertex + 1, distance + 1) +            if vertex == X: +                push(Y, distance + 1) +            if vertex == Y: +                push(X, distance + 1) +        for i in distance_list: +            ans[i] += 1 +    ans = list(map(lambda x: x // 2, ans)) +    print(*ans[1:], sep="\n")