#249. 大暑

大暑

Background

本题为小暑的逆问题。

这里我们定义一种新的编码方式 VarInt\texttt{VarInt} 为:

  • 将一个3232位无符号整数二进制从低位到高位每77位分一组,不足77位单独一组。如整数3168820031688200二进制为[1111,0001110,0001100,0001000][1111,0001110,0001100,0001000]
  • 若最后一组不足77位,则高位补0077位。如上例补位后得到[0001111,0001110,0001100,0001000][\textcolor{red}{000}1111,0001110,0001100,0001000]
  • 将最后一组高位补00,其余组高位补11。如上例得到$[\textcolor{red}{1}0001111,\textcolor{red}{1}0001110,\textcolor{red}{1}0001100,\textcolor{red}{0}0001000]$。

于是我们得到了四个88位无符号整数[143,142,140,8][143,142,140,8]

不难发现,当被编码的整数越小时,编码后得到的88位无符号整数越少。

注:编码后的结果至少为一个88位无符号整数,如编码前的整数00,编码后得到的序列为[0][0]

Description

现给定一个长度为 nn 的序列 a1,a2,,ana_1, a_2, \ldots, a_n,请你输出将他们按顺序解码后的序列。

Format

Input

一行输入一个整数 nn (1n5×1051 \le n \le 5 \times 10^5), 表示被解码序列的长度。

一行输入 nn 个整数 aia_i (0ai<280 \le a_i < 2^{8}),表示被解码序列。

Output

一行由空格分隔的整数,表示将被解码序列按顺序解码后得到的序列。

Samples

4
143 142 140 8
31688200 
6
129 1 130 2 131 3
129 258 387