def solve(string):

    n, x, y = list(map(int, string.split()))

    ans = [0] * (n - 1)

    for s in range(1, n + 1):

        d = [abs(i - s) for i in range(1, n + 1)]

        if d[x - 1] < d[y - 1]:

            p = y - 1

            d[p] = min(d[p], d[x - 1] + 1)

        else:

            p = x - 1

            d[p] = min(d[p], d[y - 1] + 1)

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

            d[i] = min(d[i], d[i - 1] + 1)

        for i in range(p - 1, -1, -1):

            d[i] = min(d[i], d[i + 1] + 1)

        for _d in d[s:]:

            ans[_d - 1] += 1

    return "\n".join(map(str, ans))





if __name__ == '__main__':

    import sys

    print((solve(sys.stdin.read().strip())))

def solve(string):

    n, x, y = list(map(int, string.split()))

    ans = [0] * n

    for i in range(1, n):

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

            ans[min(j - i, abs(x - i) + 1 + abs(j - y), abs(y - i) + 1 + abs(j - x))] += 1

    return "\n".join(map(str, ans[1:]))





if __name__ == '__main__':

    import sys

    print((solve(sys.stdin.read().strip())))

def solve(string):
    n, x, y = list(map(int, string.split()))
    ans = [0] * (n - 1)
    for s in range(1, n + 1):
        d = [abs(i - s) for i in range(1, n + 1)]
        if d[x - 1] < d[y - 1]:
            p = y - 1
            d[p] = min(d[p], d[x - 1] + 1)
        else:
            p = x - 1
            d[p] = min(d[p], d[y - 1] + 1)
        for i in range(p + 1, n):
            d[i] = min(d[i], d[i - 1] + 1)
        for i in range(p - 1, -1, -1):
            d[i] = min(d[i], d[i + 1] + 1)
        for _d in d[s:]:
            ans[_d - 1] += 1
    return "\n".join(map(str, ans))


if __name__ == "__main__":
    import sys

    print((solve(sys.stdin.read().strip())))

def solve(string):
    n, x, y = list(map(int, string.split()))
    ans = [0] * n
    for i in range(1, n):
        for j in range(i + 1, n + 1):
            ans[
                min(j - i, abs(x - i) + 1 + abs(j - y), abs(y - i) + 1 + abs(j - x))
            ] += 1
    return "\n".join(map(str, ans[1:]))


if __name__ == "__main__":
    import sys

    print((solve(sys.stdin.read().strip())))

-    ans = [0] * (n - 1) -    for s in range(1, n + 1): -        d = [abs(i - s) for i in range(1, n + 1)] -        if d[x - 1] < d[y - 1]: -            p = y - 1 -            d[p] = min(d[p], d[x - 1] + 1) -        else: -            p = x - 1 -            d[p] = min(d[p], d[y - 1] + 1) -        for i in range(p + 1, n): -            d[i] = min(d[i], d[i - 1] + 1) -        for i in range(p - 1, -1, -1): -            d[i] = min(d[i], d[i + 1] + 1) -        for _d in d[s:]: -            ans[_d - 1] += 1 -    return "\n".join(map(str, ans)) +    ans = [0] * n +    for i in range(1, n): +        for j in range(i + 1, n + 1): +            ans[ +                min(j - i, abs(x - i) + 1 + abs(j - y), abs(y - i) + 1 + abs(j - x)) +            ] += 1 +    return "\n".join(map(str, ans[1:]))