N = gets.to_i
dams = gets.split(' ').map(&:to_i)

# x0/2 + x1/2 = d0
# x1/2 + x2/2 = d1
# x2/2 + x0/2 = d2

# x0/2 + x1/2 = d0
# x1/2 + x2/2 = d1
# x2/2 + x3/2 = d2
# x3/2 + x4/2 = d3
# x4/2 + x0/2 = d4

# x0 = d0 - d1 + d2 - d3 + d4
# x1 = d1 - d2 + d3 - d4 + d0
# x2 = d2 - d3 + d4 - d0 + d1

ms = Array.new(N, 0)

N.times do |i|
  N.times do |j|
    ms[i] += (j.odd? ? -1 : 1) * dams[(i + j) % N]
  end
end

puts ms.join(' ')
