program BannedK
  implicit none

  integer(kind=8) :: n, i, j, k, s, t
  integer(kind=8), allocatable :: a(:), b(:,:), c(:,:)

  read *, n
  allocate(a(n))
  read *, a

  call count(a, b)
  s = 0_8
  do i = 1, n
     call combi(b(2,i),2_8,t)
     s = s + t
  end do

  do k = 1, n
     print *, s-b(2,a(k))+1 !!!!
  end do

  deallocate(a)

  stop
contains

  subroutine count(array, dtb)
    implicit none
    integer(8), intent(in) :: array(:)
    integer(8), allocatable, intent(out) :: dtb(:,:)
    integer(8) :: n, i, j, s

    n = size(array)
    allocate(dtb(2_8,n))
    dtb = 0_8
    
    do i = 1, n
       dtb(1,i) = i
       dtb(2,array(i)) = dtb(2,array(i)) + 1
    end do
    
    return
  end subroutine count

  subroutine combi(n, m, rslt)
    implicit none
    integer(8), intent(in) :: n, m
    integer(8), intent(out) :: rslt
    integer(8) :: i

    rslt = 1_8
    do i = 1, m
       rslt = rslt*(n-i+1_8)
    end do
    do i = 1, m
       rslt = rslt/(m-i+1_8)
    end do

    return
  end subroutine combi
    
end program BannedK



  
