#include <iostream>
#include <vector>
using namespace std;
int main()
{
unsigned count;
cin>>count;
vector<double> tb(count),mul(count+1);
for(unsigned i=0;i<count;++i) cin>>tb[i];
for(unsigned m=0,max=1U<<count;m<max;++m)
{
double v=1;
unsigned pos=count;
for(unsigned i=0,x=m;x;x>>=1,++i) if(x&1) { v*=-tb[i]; --pos; }
mul[pos]+=v;
}
for(unsigned i=count;i<=count;--i) cout<<mul[i]<<' ';
cout<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQogIHsKICAgdW5zaWduZWQgY291bnQ7CiAgIGNpbj4+Y291bnQ7CiAgIHZlY3Rvcjxkb3VibGU+IHRiKGNvdW50KSxtdWwoY291bnQrMSk7CiAgIGZvcih1bnNpZ25lZCBpPTA7aTxjb3VudDsrK2kpIGNpbj4+dGJbaV07CgkgIGZvcih1bnNpZ25lZCBtPTAsbWF4PTFVPDxjb3VudDttPG1heDsrK20pCgkgICAgewoJICAgICBkb3VibGUgdj0xOwoJICAgICB1bnNpZ25lZCBwb3M9Y291bnQ7CgkgICAgIGZvcih1bnNpZ25lZCBpPTAseD1tO3g7eD4+PTEsKytpKSBpZih4JjEpIHsgdio9LXRiW2ldOyAtLXBvczsgfQoJICAgICBtdWxbcG9zXSs9djsKCSAgICB9CgkgIGZvcih1bnNpZ25lZCBpPWNvdW50O2k8PWNvdW50Oy0taSkgY291dDw8bXVsW2ldPDwnICc7CgkgIGNvdXQ8PGVuZGw7CiAgIHJldHVybiAwOwogIH0=