#include <bits/stdc++.h>
using namespace std;
using ll= long long;
void helper() {
int n;
cin>>n;
vector<int> v(n);
for(int i=0; i<n; i++) cin>>v[i];
vector<int> odd(n);
vector<int> even(n);
if(v[0]%2==0) even[0]++;
else odd[0]++;
for(int i=1; i<n; i++){
if(i-2>=0){
if((v[i]%2)==0){
odd[i]+=odd[i-2];
even[i]+=even[i-2];
}
else{
odd[i]+=even[i-2];
even[i]+=odd[i-2];
}
}
if((v[i]%2)==0){
odd[i]+=odd[i-1];
even[i]+=even[i-1];
}
else{
odd[i]+=even[i-1];
even[i]+=odd[i-1];
}
}
for(int i=0; i<n; i++){
cout<<odd[i]<<" ";
}
cout<<endl;
for(int i=0; i<n; i++){
cout<<even[i]<<" ";
}
cout<<endl;
cout<<odd[n-1]<<endl;
}
int main() {
int t=1;
// cin>>t;
while(t--){
helper();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsPSBsb25nIGxvbmc7Cgp2b2lkIGhlbHBlcigpIHsKICAgIGludCBuOwogICAgY2luPj5uOwogICAgdmVjdG9yPGludD4gdihuKTsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKykgY2luPj52W2ldOwogICAgdmVjdG9yPGludD4gb2RkKG4pOwogICAgdmVjdG9yPGludD4gZXZlbihuKTsKICAgIGlmKHZbMF0lMj09MCkgZXZlblswXSsrOwogICAgZWxzZSBvZGRbMF0rKzsKICAgIGZvcihpbnQgaT0xOyBpPG47IGkrKyl7CiAgICAgICAgaWYoaS0yPj0wKXsKICAgICAgICAgICAgaWYoKHZbaV0lMik9PTApewogICAgICAgICAgICAgICAgb2RkW2ldKz1vZGRbaS0yXTsKICAgICAgICAgICAgICAgIGV2ZW5baV0rPWV2ZW5baS0yXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgb2RkW2ldKz1ldmVuW2ktMl07CiAgICAgICAgICAgICAgICBldmVuW2ldKz1vZGRbaS0yXTsKICAgICAgICAgICAgfSAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICBpZigodltpXSUyKT09MCl7CiAgICAgICAgICAgIG9kZFtpXSs9b2RkW2ktMV07CiAgICAgICAgICAgIGV2ZW5baV0rPWV2ZW5baS0xXTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgb2RkW2ldKz1ldmVuW2ktMV07CiAgICAgICAgICAgIGV2ZW5baV0rPW9kZFtpLTFdOwogICAgICAgIH0KICAgIH0KICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKyl7CiAgICAgICAgY291dDw8b2RkW2ldPDwiICI7CiAgICB9CiAgICBjb3V0PDxlbmRsOwogICAgZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKICAgICAgICBjb3V0PDxldmVuW2ldPDwiICI7CiAgICB9CiAgICBjb3V0PDxlbmRsOwogICAgY291dDw8b2RkW24tMV08PGVuZGw7Cn0KCmludCBtYWluKCkgewoJaW50IHQ9MTsKCS8vIGNpbj4+dDsKCXdoaWxlKHQtLSl7CgkJaGVscGVyKCk7Cgl9CiAgICByZXR1cm4gMDsKfQo=