#include <bits/stdc++.h>
using namespace std;
const int lim = 2e5 + 10;
long long int brr[lim];
vector<long long int> st, en;
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n / 2; ++i) {
    long long int x;
    scanf("%lld", &x);
    if (i == 1) {
      st.emplace_back(0);
      en.emplace_back(x);
    } else {
      if (x - st.back() <= en.back() and x - st.back() >= st.back()) {
        if (x - en.back() >= st.back() and x - en.back() <= en.back() and
            x - en.back() < st.back()) {
          st.emplace_back(x - en.back());
          en.emplace_back(en.back());
        } else {
          st.emplace_back(st.back());
          en.emplace_back(x - st.back());
        }
      } else if (x - en.back() >= st.back() and x - en.back() <= en.back()) {
        st.emplace_back(x - en.back());
        en.emplace_back(en.back());
      }
    }
  }
  for (int i = 0; i < st.size(); ++i) printf("%lld ", st[i]);
  for (int i = en.size() - 1; i >= 0; --i) printf("%lld ", en[i]);
}
