# R[i]を山iからダムiへの流出量とすると次の漸化式が成り立つ
# R[i + 1] = A[i] - R[i]
# 山iへの降雨量は2 * R[i]
# 
# 仮にR[1] = rとすると
# R[2] = A[1] - r
# R[3] = A[2] - A[1] + r
# R[4] = A[3] - A[2] + A[1] - r
# R[N] = A[N-1] - A[N-2] .. - A[1] + r
# 
# 山1からダムNへの流出量はA[N] - R[N] (= r) なので
# A[N] - A[N-1] + A[N-2] .. + A[1] == 2 * r

N = gets.to_i
A = gets.split.map(&:to_i)
r = A.inject(0){|s,a| a - s} / 2
X = Array.new(N)
N.times.inject(r) do |s, i|
  X[i] = 2 * s
  A[i] - s
end
puts X * ' '
