n     = gets.to_i
rains = gets.split.map(&:to_i) #溜まった雨の量
# nが奇数であるとき　x = A5 - A4 + A3 - A2 + A1 - xが成り立つ。
# 移項すると 2x = A5 - A4 + A3 - A2 + A1
# xを求められたらあとは数珠つなぎに各点の降水量を求められる。
x2    = 0
(0 .. n - 1).each { |i| i.even? ? x2 += rains[i] : x2 -= rains[i] }
ans = Array.new(n)
ans[0] = x2 / 2
p ans[0]
(0...n-1).each { |i| ans[i+1] = rains[i] - ans[i] }
ans.map! { |i| i *= 2}
puts ans.join(' ')