package main

import (
	"fmt"
)

func minInt(a, b int) int {
	if a < b {
		return a
	}
	return b
}

func resolve(D int, a []int) {
	for i := D; i >= 3; i-- {
		a[i-2] += a[i]
	}
	d := minInt(D, 2)
	for d != 0 && a[d] == 0 {
		d -= 1
	}

	fmt.Println(d)
	for i := 0; i < d+1; i++ {
		fmt.Printf("%d", a[i])
		if i != d {
			fmt.Printf(" ")
		} else {
			fmt.Println("")
		}
	}
}

func main() {
	var D int
	fmt.Scanf("%d\n", &D)
	a := make([]int, D+1)
	for i := 0; i < D+1; i++ {
		fmt.Scanf("%d", &a[i])
	}
	resolve(D, a)
}