def gauss_elim(a, b, n_a, n_b_col)
  (n_a - 1).times do |j|
    partial_pivoting(a, b, n_a, n_b_col, j)
    (j + 1).upto(n_a - 1) do |i|
      r = a[i][j].to_f / a[j][j].to_f
      j.upto(n_a - 1) do |k|
        a[i][k] = a[i][k].to_f - a[j][k].to_f * r
      end
      b[i] = b[i].to_f - b[j].to_f * r
    end
  end

  (n_a - 1).downto(0) do |i|
    r = b[i].to_f
    (i + 1).upto(n_a - 1) do |k|
      r = r - a[i][k].to_f * b[k].to_f
    end
    b[i] = r / a[i][i].to_f
  end
end

def partial_pivoting(a, b, n_a, n_b_col, j)
  amax = a[j][j].to_f.abs
  imax = j

  (j + 1).upto(n_a - 1) do |i|
    r = a[i][j].to_f.abs
    if r > amax
      amax = r
      imax = i
    end
  end

  return if j == imax
  n_a.times do |k|
    r = a[imax][k]
    a[imax][k] = a[j][k]
    a[j][k] = r
  end
end

n = gets.to_i
a = []
n.pred.times do |i|
  a[i] = [0] * i + [1] * 2 + [0] * (n - i - 2)
end
a << [1] + [0] * (n - 2) + [1]
b = gets.split.map(&:to_i)

n_a = n
n_b_col = 1

gauss_elim(a, b, n_a, n_b_col)

n.times do |i|
  printf("%d\s", b[i] * 2)
end