using static IO;
public class IO
{
public static IO Cin = new();
public static StreamReader reader = new(Console.OpenStandardInput());
public static StreamWriter writer = new(Console.OpenStandardOutput());
public static implicit operator string(IO _) => reader.ReadLine();
public static implicit operator char[](IO _) => reader.ReadLine().ToArray();
public static implicit operator int(IO _) => int.Parse(reader.ReadLine());
public static implicit operator double(IO _) => double.Parse(reader.ReadLine());
public static implicit operator string[](IO _) => reader.ReadLine().Split();
public static implicit operator int[](IO _) => Array.ConvertAll(reader.ReadLine().Split(), int.Parse);
public void Deconstruct(out int a, out int b) { int[] r = Cin; (a, b) = (r[0], r[1]); }
public void Deconstruct(out int a, out int b, out int c) { int[] r = Cin; (a, b, c) = (r[0], r[1], r[2]); }
public static void Loop(int end, Action<int> action, int start = 0, in int add = 1) { for (; start < end; start += add) action(start); }
public static object? Cout { set { writer.Write(value); } }
public static object? Coutln { set { writer.WriteLine(value); } }
public static void Main() { Program.Coding(); writer.Flush(); }
}
class Program
{
public static void Coding()
{
int n = Cin;
int[] candys = new int[n];
Loop(n, i => candys[i] = Cin);
LinearExpression expr = new(1, 0);
Loop(n, i => expr = -expr + candys[i]);
int x = expr.Constant / 2;
Coutln = x;
Loop(n-1, i => Coutln = x = candys[i] - x, 0);
}
}
public struct LinearExpression {
public LinearExpression(int coefficient, int constant)
{
this.Coefficient = coefficient;
this.Constant = constant;
}
public int Coefficient, Constant;
public static LinearExpression operator +(LinearExpression a, int b) => new(a.Coefficient, a.Constant + b);
public static LinearExpression operator -(LinearExpression a, LinearExpression b) => new(a.Coefficient - b.Coefficient, a.Constant - b.Constant);
public static LinearExpression operator -(LinearExpression a) => new(-a.Coefficient,-a.Constant);
}
dXNpbmcgc3RhdGljIElPOwpwdWJsaWMgY2xhc3MgSU8KewpwdWJsaWMgc3RhdGljIElPIENpbiA9IG5ldygpOwpwdWJsaWMgc3RhdGljIFN0cmVhbVJlYWRlciByZWFkZXIgPSBuZXcoQ29uc29sZS5PcGVuU3RhbmRhcmRJbnB1dCgpKTsKcHVibGljIHN0YXRpYyBTdHJlYW1Xcml0ZXIgd3JpdGVyID0gbmV3KENvbnNvbGUuT3BlblN0YW5kYXJkT3V0cHV0KCkpOwpwdWJsaWMgc3RhdGljIGltcGxpY2l0IG9wZXJhdG9yIHN0cmluZyhJTyBfKSA9PiByZWFkZXIuUmVhZExpbmUoKTsKcHVibGljIHN0YXRpYyBpbXBsaWNpdCBvcGVyYXRvciBjaGFyW10oSU8gXykgPT4gcmVhZGVyLlJlYWRMaW5lKCkuVG9BcnJheSgpOwpwdWJsaWMgc3RhdGljIGltcGxpY2l0IG9wZXJhdG9yIGludChJTyBfKSA9PiBpbnQuUGFyc2UocmVhZGVyLlJlYWRMaW5lKCkpOwpwdWJsaWMgc3RhdGljIGltcGxpY2l0IG9wZXJhdG9yIGRvdWJsZShJTyBfKSA9PiBkb3VibGUuUGFyc2UocmVhZGVyLlJlYWRMaW5lKCkpOwpwdWJsaWMgc3RhdGljIGltcGxpY2l0IG9wZXJhdG9yIHN0cmluZ1tdKElPIF8pID0+IHJlYWRlci5SZWFkTGluZSgpLlNwbGl0KCk7CnB1YmxpYyBzdGF0aWMgaW1wbGljaXQgb3BlcmF0b3IgaW50W10oSU8gXykgPT4gQXJyYXkuQ29udmVydEFsbChyZWFkZXIuUmVhZExpbmUoKS5TcGxpdCgpLCBpbnQuUGFyc2UpOwpwdWJsaWMgdm9pZCBEZWNvbnN0cnVjdChvdXQgaW50IGEsIG91dCBpbnQgYikgeyBpbnRbXSByID0gQ2luOyAoYSwgYikgPSAoclswXSwgclsxXSk7IH0KcHVibGljIHZvaWQgRGVjb25zdHJ1Y3Qob3V0IGludCBhLCBvdXQgaW50IGIsIG91dCBpbnQgYykgeyBpbnRbXSByID0gQ2luOyAoYSwgYiwgYykgPSAoclswXSwgclsxXSwgclsyXSk7IH0KcHVibGljIHN0YXRpYyB2b2lkIExvb3AoaW50IGVuZCwgQWN0aW9uPGludD4gYWN0aW9uLCBpbnQgc3RhcnQgPSAwLCBpbiBpbnQgYWRkID0gMSkgeyBmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ICs9IGFkZCkgYWN0aW9uKHN0YXJ0KTsgfQpwdWJsaWMgc3RhdGljIG9iamVjdD8gQ291dCB7IHNldCB7IHdyaXRlci5Xcml0ZSh2YWx1ZSk7IH0gfQpwdWJsaWMgc3RhdGljIG9iamVjdD8gQ291dGxuIHsgc2V0IHsgd3JpdGVyLldyaXRlTGluZSh2YWx1ZSk7IH0gfQpwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsgUHJvZ3JhbS5Db2RpbmcoKTsgd3JpdGVyLkZsdXNoKCk7IH0KfQpjbGFzcyBQcm9ncmFtCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBDb2RpbmcoKQogICAgewogICAgICAgIGludCBuID0gQ2luOwogICAgICAgIGludFtdIGNhbmR5cyA9IG5ldyBpbnRbbl07CiAgICAgICAgTG9vcChuLCBpID0+IGNhbmR5c1tpXSA9IENpbik7CiAgICAgICAgTGluZWFyRXhwcmVzc2lvbiBleHByID0gbmV3KDEsIDApOwogICAgICAgIExvb3AobiwgaSA9PiBleHByID0gLWV4cHIgKyBjYW5keXNbaV0pOwogICAgICAgIGludCB4ID0gZXhwci5Db25zdGFudCAvIDI7CiAgICAgICAgQ291dGxuID0geDsKICAgICAgICBMb29wKG4tMSwgaSA9PiBDb3V0bG4gPSB4ID0gY2FuZHlzW2ldIC0geCwgMCk7CiAgICB9Cn0KcHVibGljIHN0cnVjdCBMaW5lYXJFeHByZXNzaW9uIHsKICAgIHB1YmxpYyBMaW5lYXJFeHByZXNzaW9uKGludCBjb2VmZmljaWVudCwgaW50IGNvbnN0YW50KQogICAgewogICAgICAgIHRoaXMuQ29lZmZpY2llbnQgPSBjb2VmZmljaWVudDsKICAgICAgICB0aGlzLkNvbnN0YW50ID0gY29uc3RhbnQ7CiAgICB9CiAgICBwdWJsaWMgaW50IENvZWZmaWNpZW50LCBDb25zdGFudDsKICAgIHB1YmxpYyBzdGF0aWMgTGluZWFyRXhwcmVzc2lvbiBvcGVyYXRvciArKExpbmVhckV4cHJlc3Npb24gYSwgaW50IGIpID0+IG5ldyhhLkNvZWZmaWNpZW50LCBhLkNvbnN0YW50ICsgYik7CiAgICBwdWJsaWMgc3RhdGljIExpbmVhckV4cHJlc3Npb24gb3BlcmF0b3IgLShMaW5lYXJFeHByZXNzaW9uIGEsIExpbmVhckV4cHJlc3Npb24gYikgPT4gbmV3KGEuQ29lZmZpY2llbnQgLSBiLkNvZWZmaWNpZW50LCBhLkNvbnN0YW50IC0gYi5Db25zdGFudCk7CiAgICBwdWJsaWMgc3RhdGljIExpbmVhckV4cHJlc3Npb24gb3BlcmF0b3IgLShMaW5lYXJFeHByZXNzaW9uIGEpID0+IG5ldygtYS5Db2VmZmljaWVudCwtYS5Db25zdGFudCk7Cn0=