#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int rnum()
{
int fh = 1,res = 0;char ch = getchar();
while(!isdigit(ch)) {if(ch == '-') fh = -1; ch = getchar();}
while(isdigit(ch)) res = res * 10 + (ch - '0'),ch = getchar();
return fh * res;
}
inline string rstr()
{
string res;char ch = getchar();
while(!isalpha(ch)) ch = getchar();
while(isalpha(ch)) res += ch,ch = getchar();
return res;
}
mt19937_64 Rnd(time(NULL));
inline int myrand(const int &l,const int &r)
{
return Rnd() % (r - l + 1) + l;
}
inline int lowbit(int x)
{
return x & -x;
}
const int N = 10010;
int a[N],n = rnum();
string s;
signed main()
{
srand(time(NULL));
n /= 8;
for(int i = 1;i <= n;i++)
{
a[i] = rnum();
}
for(int i = 1;i <= n;i++)
{
if(a[i] == 0) s += "00000000";
else
{
string ss;
while(a[i])
{
ss += (char)(a[i] % 2 + '0');
a[i] /= 2;
}
for(int j = ss.size() - 1;j >= 0;j--) s += ss[j];
}
}
string st;
st += s[0];
for(int i = 1;i < s.size();i++)
{
if(s[i] != st[0])
{
if(st[0] == '0')
{
cout << st.size() << " ";
}
else
{
cout << st.size() + 128 << " ";
}
st.clear();st += s[i];
}
else
{
st += s[i];
}
}
if(st.size())
{
if(st[0] == '0')
{
cout << st.size();
}
else
{
cout << st.size() + 128;
}
}
return 0;
}