#!/usr/bin/python from itertools import dropwhile rstrip = lambda arr, p: list(reversed(list(dropwhile(lambda x: x == p, reversed(arr))))) d = int(raw_input()) a = map(int, raw_input().split()) z = d while z > 2: a[z-2] += a[z] for i in reversed(range(3, z)): if a[i] != 0: z = i break else: break res = rstrip(a[:3], 0) print max(0, len(res) - 1) print ' '.join(map(str, res)) or 0