function Main(input){
  input = input.split("\n");
  //山の数Ｎを格納する
  inputStr = input[0].split(" ");
  const N = Number.parseInt(inputStr[0]);
  //数値変換しつつ配列D_arrとしてダムに溜まった水を格納する
  var D_arr = input[1].split(" ");
  //山に降った雨の量を計算。配列A_arrに溜め込む
  var A_arr = [];
  for( i1=0; i1 < N ;i1++){
    A_arr.push(0);
  }
  //計算する  
  for( var i2 = 0; i2 < N ; i2++){
　　//自分の山に半分
    A_arr[i2] += D_arr[i2]/2;
    if(i2===N-1){
      A_arr[0] += D_arr[i2]/2;
    } else {
      A_arr[i2+1] += D_arr[i2]/2;
    }
  }
  //ここまでだと降水量に奇数と成り得る為ダムの水量を見ながら補正計算
  
  //結果を出力
  console.log(A_arr.join(" "));
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));