#!/usr/bin/env python3.8 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines # %% N, *S = map(int, read().split()) # %% INF = 10 ** 9 dp = [[INF] * (N + 1) for _ in range(11)] dp[0][0] = 1 for kakusei in range(11): if kakusei <= S[0]: dp[kakusei][0] = kakusei + 1 for lv in range(1, N + 1): if S[lv] < kakusei: continue x = dp[kakusei][lv - 1] + 1 for k in range(kakusei): cost = dp[kakusei - k - 1][lv] y = dp[k][lv] + cost if x > y: x = y dp[kakusei][lv] = x # %% answers = (dp[k][-1] for k in range(S[-1] + 1)) print(' '.join(map(str, answers)))