import Control.Monad
import qualified Data.IntMap as IM

main = do
  li <- getLine
  let n = read li
  li <- getLine
  let as = map read $ words li
  let ans = compute n as
  mapM_ print ans

compute :: Int -> [Int] -> [Int]
compute n as = [ sum1 - v + 1 | a <- as, let v = arr IM.! a ]
  where
    arr = IM.fromListWith (+) [(a,1)|a <- as]
    sum1 = sum [ n * pred n | n <- IM.elems arr ] `div` 2

{-
値をキーとして、その値の要素がいくつあるかを配列に納めておき、
それぞれの個数について n(n-1)/2 を求める。
ただし a_i については一つ減らす必要がある。
n(n-1)/2 - (n-1)(n-2)/2 = n-1
-}
