N = gets.to_i A = gets.split.map(&:to_i).sort RUI = [0] A.each do |a| RUI << RUI.last + a end ans = 0 1.upto(N - 2) do |mid| m = A[mid] ok = 0 ng = mid while (ok - ng).abs >= 2 l = (ok + ng) / 2 r = N - l - 1 d1 = A[l] - m d2 = A[r] - m if d2 - d1 > 0 ok = l else ng = l end end len = ok + 1 sum1 = RUI[ok + 1] - len * m sum2 = (RUI[N] - RUI[N - ok - 1]) - len * m sum = sum1 + sum2 # pp [:mid, mid, :ok, ok, :sum1, sum1, :sum2, sum2] ans = sum if ans < sum end puts ans