package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { var sc = bufio.NewScanner(os.Stdin) sc.Buffer(make([]byte, 0, 1000_000), 1000_000) sc.Scan() N, _ := strconv.Atoi(sc.Text()) A := make([]int, N+1) sc.Scan() ss := strings.Fields(sc.Text()) for i := 0; i < N; i++ { A[i], _ = strconv.Atoi(ss[i]) } tt := make([]string, A[0]) i := 0 A[N] = 0 n := N for j := N; j > 0; j-- { for k := 0; k < A[j-1]-A[j]; k++ { //fmt.Print(n, " ") tt[i] = strconv.Itoa(n) i++ } n-- } fmt.Println(strings.Join(tt, " ")) }