module Main where

import           Debug.Trace

data Section = Load1 | Load2 | Load3
main :: IO [()]
main = do
    [n, vertexX, vertexY] <- map read . words <$> getLine

    let numList  = [1 .. n-1]
    let combList =[(i,j) | i<-numList, j<-[i+1..n] ]

    let shortestList =
            foldl (\acc x -> acc ++ [(aaaa x vertexX vertexY)]) [] combList
    let aaaList = map
            (\x -> do
                sumShortest shortestList x
            )
            numList

    mapM putStrLn (map  (\x->show x)  aaaList)


aaaa :: (Int,Int) -> Int -> Int -> Int
aaaa x vertexX vertexY  =  min (abs (start-vertexX) + 1 + abs (end-vertexY)) (end - start)
  where
    start    = fst x :: Int
    end      = snd x :: Int
    smaller a b = if a < b then a else b



sumShortest :: [Int] -> Int -> Int
sumShortest shortestList x =
    foldl (\acc y -> if y == x then (acc + 1) else acc) 0 shortestList


