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



g = [[]  for i in range(N)]

for i in range(N):

    u = i

    v = i + 1

    if v < N:

        g[u].append(v)

        g[v].append(u)



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

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



from collections import deque

dis = [[float('Inf')] * N for _ in range(N)]

count = [0] * (N - 1)

def bfs(i):

    d = [False] * N

    que = deque()

    #for j in g[i]:

    que.append(i)

    d[i] = True

    dis[i][i] = 0

    pre = i

    while que:

        p = que.popleft()



        for k in g[p]:

            if d[k]:

                continue

            else:

                d[k] = True

                que.append(k)

                dis[i][k] = dis[i][p] + 1

                dis[k][i] = dis[i][p] + 1

                count[dis[i][k] - 1] += 1 

                #count[dis[k][i] - 1] += 1

        pre = p



for i in range(N):

    bfs(i)



for i in range(N - 1):

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

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



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

for i in range(N - 1):

    u = i

    v = i + 1

    g[u].append(v)

    g[v].append(u)

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

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



from collections import deque

dis = [[0] * N for _ in range(N)]

def bfs(i):

    visited = [False] * N

    que = deque([i])

    dis[i][i] = 0

    visited[i] = True

    

    while que:

        p = que.popleft()

        for new in g[p]:

            if visited[new]:

                continue

            else:

                visited[new] = True

                que.append(new)

                dis[i][new] = dis[i][p] + 1

                count[dis[i][new] - 1] += 1



count = [0] * (N - 1)

for i in range(N):

    bfs(i)



for i in range(N - 1):

    print((count[i] // 2))
N, X, Y = list(map(int, input().split()))
g = [[] for i in range(N)]
for i in range(N):
    u = i
    v = i + 1
    if v < N:
        g[u].append(v)
        g[v].append(u)
g[X - 1].append(Y - 1)
g[Y - 1].append(X - 1)
from collections import deque

dis = [[float("Inf")] * N for _ in range(N)]
count = [0] * (N - 1)


def bfs(i):
    d = [False] * N
    que = deque()
    # for j in g[i]:
    que.append(i)
    d[i] = True
    dis[i][i] = 0
    pre = i
    while que:
        p = que.popleft()
        for k in g[p]:
            if d[k]:
                continue
            else:
                d[k] = True
                que.append(k)
                dis[i][k] = dis[i][p] + 1
                dis[k][i] = dis[i][p] + 1
                count[dis[i][k] - 1] += 1
                # count[dis[k][i] - 1] += 1
        pre = p


for i in range(N):
    bfs(i)
for i in range(N - 1):
    print((count[i] // 2))

N, X, Y = list(map(int, input().split()))
g = [[] for _ in range(N)]
for i in range(N - 1):
    u = i
    v = i + 1
    g[u].append(v)
    g[v].append(u)
g[X - 1].append(Y - 1)
g[Y - 1].append(X - 1)
from collections import deque

dis = [[0] * N for _ in range(N)]


def bfs(i):
    visited = [False] * N
    que = deque([i])
    dis[i][i] = 0
    visited[i] = True
    while que:
        p = que.popleft()
        for new in g[p]:
            if visited[new]:
                continue
            else:
                visited[new] = True
                que.append(new)
                dis[i][new] = dis[i][p] + 1
                count[dis[i][new] - 1] += 1


count = [0] * (N - 1)
for i in range(N):
    bfs(i)
for i in range(N - 1):
    print((count[i] // 2))

-g = [[] for i in range(N)] -for i in range(N): +g = [[] for _ in range(N)] +for i in range(N - 1): -    if v < N: -        g[u].append(v) -        g[v].append(u) +    g[u].append(v) +    g[v].append(u) -dis = [[float("Inf")] * N for _ in range(N)] -count = [0] * (N - 1) +dis = [[0] * N for _ in range(N)] -    d = [False] * N -    que = deque() -    # for j in g[i]: -    que.append(i) -    d[i] = True +    visited = [False] * N +    que = deque([i]) -    pre = i +    visited[i] = True -        for k in g[p]: -            if d[k]: +        for new in g[p]: +            if visited[new]: -                d[k] = True -                que.append(k) -                dis[i][k] = dis[i][p] + 1 -                dis[k][i] = dis[i][p] + 1 -                count[dis[i][k] - 1] += 1 -                # count[dis[k][i] - 1] += 1 -        pre = p +                visited[new] = True +                que.append(new) +                dis[i][new] = dis[i][p] + 1 +                count[dis[i][new] - 1] += 1 +count = [0] * (N - 1)