D = int(input()) A = list(map(int,input().split())) m = {} for i in range(D+1): m[i] = A[i] for i in range(D, 2, -1): if m[i] == 0: del m[i] continue k = m[i] del m[i] m[i-2] += k maxK = max(m.keys()) ans = [] for i in range(maxK+1): ans.append(m[i]) while len(ans) > 0 and ans[-1] == 0: ans.pop(-1) if len(ans) == 0: ans.append(0) print(len(ans)-1) print(*ans)