# Author: cr4zjh0bp

# Created: Sat Mar 28 11:53:27 UTC 2020

import sys

 

stdin = sys.stdin

inf = 1 << 60

mod = 1000000007

 

ni      = lambda: int(ns())

nin     = lambda y: [ni() for _ in range(y)]

na      = lambda: list(map(int, stdin.readline().split()))

nan     = lambda y: [na() for _ in range(y)]

nf      = lambda: float(ns())

nfn     = lambda y: [nf() for _ in range(y)]

nfa     = lambda: list(map(float, stdin.readline().split()))

nfan    = lambda y: [nfa() for _ in range(y)]

ns      = lambda: stdin.readline().rstrip()

nsn     = lambda y: [ns() for _ in range(y)]

ncl     = lambda y: [list(ns()) for _ in range(y)]

nas     = lambda: stdin.readline().split()



from collections import defaultdict, deque



n, x, y = na()

x -= 1

y -= 1

d = defaultdict(int)

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

for i in range(n - 1):

    g[i].append(i + 1)

    g[i + 1].append(i)

g[x].append(y)

g[y].append(x)



def bfs(i):

    q = deque()

    q.append(i)

    dist = [-1] * n

    dist[i] = 0

    while len(q):

        p = q.popleft()

        for j in g[p]:

            if dist[j] != -1:

                continue

            dist[j] = dist[p] + 1

            q.append(j)



    return dist



dic = defaultdict(int)

for i in range(n):

    d = bfs(i)

    for j in range(n):

        dic[d[j]] += 1



for i in range(1, n):

    print((dic[i] // 2))
# Author: cr4zjh0bp

# Created: Sat Mar 28 11:53:27 UTC 2020

import sys

 

stdin = sys.stdin

inf = 1 << 60

mod = 1000000007

 

ni      = lambda: int(ns())

nin     = lambda y: [ni() for _ in range(y)]

na      = lambda: list(map(int, stdin.readline().split()))

nan     = lambda y: [na() for _ in range(y)]

nf      = lambda: float(ns())

nfn     = lambda y: [nf() for _ in range(y)]

nfa     = lambda: list(map(float, stdin.readline().split()))

nfan    = lambda y: [nfa() for _ in range(y)]

ns      = lambda: stdin.readline().rstrip()

nsn     = lambda y: [ns() for _ in range(y)]

ncl     = lambda y: [list(ns()) for _ in range(y)]

nas     = lambda: stdin.readline().split()



from collections import defaultdict



n, x, y = na()

x -= 1

y -= 1



dic = defaultdict(int)

for i in range(n):

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

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

        dic[dist] += 1



for i in range(1, n):

    print((dic[i]))
# Author: cr4zjh0bp
# Created: Sat Mar 28 11:53:27 UTC 2020
import sys

stdin = sys.stdin
inf = 1 << 60
mod = 1000000007
ni = lambda: int(ns())
nin = lambda y: [ni() for _ in range(y)]
na = lambda: list(map(int, stdin.readline().split()))
nan = lambda y: [na() for _ in range(y)]
nf = lambda: float(ns())
nfn = lambda y: [nf() for _ in range(y)]
nfa = lambda: list(map(float, stdin.readline().split()))
nfan = lambda y: [nfa() for _ in range(y)]
ns = lambda: stdin.readline().rstrip()
nsn = lambda y: [ns() for _ in range(y)]
ncl = lambda y: [list(ns()) for _ in range(y)]
nas = lambda: stdin.readline().split()
from collections import defaultdict, deque

n, x, y = na()
x -= 1
y -= 1
d = defaultdict(int)
g = [[] for _ in range(n)]
for i in range(n - 1):
    g[i].append(i + 1)
    g[i + 1].append(i)
g[x].append(y)
g[y].append(x)


def bfs(i):
    q = deque()
    q.append(i)
    dist = [-1] * n
    dist[i] = 0
    while len(q):
        p = q.popleft()
        for j in g[p]:
            if dist[j] != -1:
                continue
            dist[j] = dist[p] + 1
            q.append(j)
    return dist


dic = defaultdict(int)
for i in range(n):
    d = bfs(i)
    for j in range(n):
        dic[d[j]] += 1
for i in range(1, n):
    print((dic[i] // 2))

# Author: cr4zjh0bp
# Created: Sat Mar 28 11:53:27 UTC 2020
import sys

stdin = sys.stdin
inf = 1 << 60
mod = 1000000007
ni = lambda: int(ns())
nin = lambda y: [ni() for _ in range(y)]
na = lambda: list(map(int, stdin.readline().split()))
nan = lambda y: [na() for _ in range(y)]
nf = lambda: float(ns())
nfn = lambda y: [nf() for _ in range(y)]
nfa = lambda: list(map(float, stdin.readline().split()))
nfan = lambda y: [nfa() for _ in range(y)]
ns = lambda: stdin.readline().rstrip()
nsn = lambda y: [ns() for _ in range(y)]
ncl = lambda y: [list(ns()) for _ in range(y)]
nas = lambda: stdin.readline().split()
from collections import defaultdict

n, x, y = na()
x -= 1
y -= 1
dic = defaultdict(int)
for i in range(n):
    for j in range(i + 1, n):
        dist = min(j - i, 1 + abs(x - i) + abs(y - j))
        dic[dist] += 1
for i in range(1, n):
    print((dic[i]))

-from collections import defaultdict, deque +from collections import defaultdict -d = defaultdict(int) -g = [[] for _ in range(n)] -for i in range(n - 1): -    g[i].append(i + 1) -    g[i + 1].append(i) -g[x].append(y) -g[y].append(x) - - -def bfs(i): -    q = deque() -    q.append(i) -    dist = [-1] * n -    dist[i] = 0 -    while len(q): -        p = q.popleft() -        for j in g[p]: -            if dist[j] != -1: -                continue -            dist[j] = dist[p] + 1 -            q.append(j) -    return dist - - -    d = bfs(i) -    for j in range(n): -        dic[d[j]] += 1 +    for j in range(i + 1, n): +        dist = min(j - i, 1 + abs(x - i) + abs(y - j)) +        dic[dist] += 1 -    print((dic[i] // 2)) +    print((dic[i]))