문제
칠판에 정수 \(N\)개가 왼쪽에서 오른쪽으로 적혀 있다. 왼쪽에서 \(i\)번째 (\(1 \le i \le N\)) 정수는 \(A_i\)이다. 칠판에 적힌 정수열에 대해 아래 조작을 반복한다. 지금 칠판 맨 아래 줄에 적힌 정수열의 길이를 \(k\)라 하자. 그 값을 보며, 아래에 길이 \(k-1\)인 새 정수열을 적는다. \(i=1, 2, \ldots, k-1\)에 대해, 새 열의 \(i\)번째 정수는 참조한 열의 왼쪽에서 \(i\)번째와 \(i+1\)번째 정수의 합이다. 이 조작을 \(N-1\)번 할 때, 칠판에 새로 적는 정수열을 모두 구하는 프로그램을 작성하라. |
입력
입력은 다음 형식으로 주어진다.
\(N\)
\(A_1\) \(A_2\) \(\cdots\) \(A_N\)
- 첫째 줄에 \(N\)이 주어진다.
- 둘째 줄에 \(A_1, A_2, \ldots, A_N\)이 공백 하나로 구분되어 주어진다.
- \(2 \le N \le 10\)
- \(1 \le A_i \le 10\)
- 입력되는 값은 모두 정수이다.
출력
다음 형식으로 출력한다.
\(N-1\)번의 조작에서 칠판에 적는 정수열을 \(N-1\)줄로 모두 출력한다. \(i\)번째 줄 (\(1 \le i \le N-1\))에는 \(i\)번째 조작에서 적는 정수열을 공백 하나로 구분해 출력한다.
예시 1
입력
5
1 3 5 7 9
출력
4 8 12 16
12 20 28
32 48
80
설명
처음 열 \((1, 3, 5, 7, 9)\)에서 이웃을 더하면 \((4, 8, 12, 16)\), \((12, 20, 28)\), \((32, 48)\), \((80)\)이 된다.
예시 2
입력
7
1 2 3 4 3 2 1
출력
3 5 7 7 5 3
8 12 14 12 8
20 26 26 20
46 52 46
98 98
196
예시 3
입력
10
1 9 2 4 4 9 2 3 5 6
출력
10 11 6 8 13 11 5 8 11
21 17 14 21 24 16 13 19
38 31 35 45 40 29 32
69 66 80 85 69 61
135 146 165 154 130
281 311 319 284
592 630 603
1222 1233
2455