# D - Line++

def main():

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

    dist = [0] * N

    calc_min_dist = lambda x, y: min(

        y - x, abs(X - x) + abs(y - Y) + 1, abs(Y - x) + abs(y - X) + 1

    )

    for i in range(1, N + 1):

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

            dist[calc_min_dist(i, j)] += 1

    print(("\n".join(map(str, dist[1:]))))





if __name__ == "__main__":

    main()

# D - Line++

def main():

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

    dist = [0] * N

    calc_min_dist = lambda x, y: min(

        y - x, abs(X - x) + abs(y - Y) + 1, abs(Y - x) + abs(y - X) + 1

    )  # assume x < y

    for i in range(1, N + 1):

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

            dist[calc_min_dist(i, j)] += 1

    print(("\n".join(map(str, dist[1:]))))





if __name__ == "__main__":

    main()

# D - Line++
def main():
    N, X, Y = list(map(int, input().split()))
    dist = [0] * N
    calc_min_dist = lambda x, y: min(
        y - x, abs(X - x) + abs(y - Y) + 1, abs(Y - x) + abs(y - X) + 1
    )
    for i in range(1, N + 1):
        for j in range(i + 1, N + 1):
            dist[calc_min_dist(i, j)] += 1
    print(("\n".join(map(str, dist[1:]))))


if __name__ == "__main__":
    main()

# D - Line++
def main():
    N, X, Y = list(map(int, input().split()))
    dist = [0] * N
    calc_min_dist = lambda x, y: min(
        y - x, abs(X - x) + abs(y - Y) + 1, abs(Y - x) + abs(y - X) + 1
    )  # assume x < y
    for i in range(1, N + 1):
        for j in range(i + 1, N + 1):
            dist[calc_min_dist(i, j)] += 1
    print(("\n".join(map(str, dist[1:]))))


if __name__ == "__main__":
    main()

-    ) +    )  # assume x < y