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

Graph = [[] for _ in range(N)]

for i in range(N):

    if i < N - 1:

        Graph[i].append(i + 1)

        Graph[i + 1].append(i)

    if X == i:

        Graph[X - 1].append(Y - 1)

        Graph[Y - 1].append(X - 1)

# print(Graph)

ans = [0] * (N - 1)

from collections import deque, Counter



for i in range(N):

    dist = [-1] * N

    que = deque([i])

    dist[i] = 0

    while que:

        v = que.popleft()

        d = dist[v]

        for w in Graph[v]:

            if dist[w] > -1:

                continue

            dist[w] = d + 1

            que.append(w)

    # print(dist)

    dist_Counter = Counter(dist)

    for key, val in list(dist_Counter.items()):

        if key != 0:

            ans[key - 1] += val



for a in ans:

    print((a // 2))

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

Graph = [[] for _ in range(N)]

for i in range(N):

    if i < N - 1:

        Graph[i].append(i + 1)

        Graph[i + 1].append(i)

    if X == i:

        Graph[X - 1].append(Y - 1)

        Graph[Y - 1].append(X - 1)

# print(Graph)

ans = [0] * (N - 1)

from collections import deque

for i in range(N):

    dist = [-1]*N

    que = deque([i])

    dist[i] = 0

    while que:

        v = que.popleft()

        d = dist[v]

        for w in Graph[v]:

            if dist[w] > -1:

                continue

            dist[w] = d + 1

            que.append(w)

    # print(dist)

    for d in dist:

        if d > 0:

            ans[d - 1] += 1

for a in ans:

    print((a // 2))
N, X, Y = list(map(int, input().split()))
Graph = [[] for _ in range(N)]
for i in range(N):
    if i < N - 1:
        Graph[i].append(i + 1)
        Graph[i + 1].append(i)
    if X == i:
        Graph[X - 1].append(Y - 1)
        Graph[Y - 1].append(X - 1)
# print(Graph)
ans = [0] * (N - 1)
from collections import deque, Counter

for i in range(N):
    dist = [-1] * N
    que = deque([i])
    dist[i] = 0
    while que:
        v = que.popleft()
        d = dist[v]
        for w in Graph[v]:
            if dist[w] > -1:
                continue
            dist[w] = d + 1
            que.append(w)
    # print(dist)
    dist_Counter = Counter(dist)
    for key, val in list(dist_Counter.items()):
        if key != 0:
            ans[key - 1] += val
for a in ans:
    print((a // 2))

N, X, Y = list(map(int, input().split()))
Graph = [[] for _ in range(N)]
for i in range(N):
    if i < N - 1:
        Graph[i].append(i + 1)
        Graph[i + 1].append(i)
    if X == i:
        Graph[X - 1].append(Y - 1)
        Graph[Y - 1].append(X - 1)
# print(Graph)
ans = [0] * (N - 1)
from collections import deque

for i in range(N):
    dist = [-1] * N
    que = deque([i])
    dist[i] = 0
    while que:
        v = que.popleft()
        d = dist[v]
        for w in Graph[v]:
            if dist[w] > -1:
                continue
            dist[w] = d + 1
            que.append(w)
    # print(dist)
    for d in dist:
        if d > 0:
            ans[d - 1] += 1
for a in ans:
    print((a // 2))

-from collections import deque, Counter +from collections import deque -    dist_Counter = Counter(dist) -    for key, val in list(dist_Counter.items()): -        if key != 0: -            ans[key - 1] += val +    for d in dist: +        if d > 0: +            ans[d - 1] += 1