# D - Line++

def main():

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

    dist_cnt = [0] * N

    calc_min_dist = lambda x, y: min(y - x, abs(X - x) + abs(Y - y) + 1)  # assume x < y

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

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

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

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





if __name__ == "__main__":

    main()

# D - Line++

def main():

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

    dist_cnt = [0] * N

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

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

            dist_cnt[min(j - i, abs(X - i) + abs(j - Y) + 1)] += 1

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





if __name__ == "__main__":

    main()

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


if __name__ == "__main__":
    main()

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


if __name__ == "__main__":
    main()

-    calc_min_dist = lambda x, y: min(y - x, abs(X - x) + abs(Y - y) + 1)  # assume x < y -            dist_cnt[calc_min_dist(i, j)] += 1 +            dist_cnt[min(j - i, abs(X - i) + abs(j - Y) + 1)] += 1