fun main(args: Array<String>) {
    fun minDistance(i: Int, j: Int, x: Int, y: Int): Int {
        return Math.min(j - i, Math.min(Math.abs(x - i) + 1 + Math.abs(j - y), Math.abs(y - i) + 1 + Math.abs(j - x)))
    }
    val (n, x, y) = readLine()?.split(" ")?.map(String::toInt) ?: return

    val distances = hashMapOf<Int, Int>()
    0.until(n - 1).forEach { i ->
        (i + 1).until(n).forEach { j ->
            val distance = minDistance(i + 1, j + 1, x, y)
            distances[distance] = distances[distance]?.let { it + 1 } ?: 1
        }
    }
    1.until(n).forEach { i ->
        println(distances[i] ?: 0)
    }
}