#include<bits/stdc++.h>
using namespace std;
const int N=3e5+10;
const int mod=998244353;

int gi() {
	int x=0,o=1;char ch=getchar();
	while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
	if(ch=='-') o=-1,ch=getchar();
	while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
	return x*o;
}

void inc(int &a,int b) { a=a+b>=mod?a+b-mod:a+b; }
void dec(int &a,int b) { a=a-b<0?a-b+mod:a-b; }

int n,a[N];

int qpow(int a,int b) {
	int ret=1;
	while(b) {
		if(b&1) ret=1ll*ret*a%mod;
		a=1ll*a*a%mod,b>>=1;
	}
	return ret;
}

void fwt() {
	for(int i=1;i<n;i<<=1)
		for(int p=i<<1,j=0;j<n;j+=p)
			for(int k=0;k<i;k++) {
				int x=a[j+k],y=a[j+k+i];
				a[j+k]=x,inc(a[j+k],y);
				a[j+k+i]=x,dec(a[j+k+i],y);
			}
}

int main() {
	cin>>n;n=1<<n;int s=0;
	for(int i=0;i<n;i++) a[i]=gi(),s+=a[i];
	s=qpow(s,mod-2);
	for(int i=0;i<n;i++) a[i]=1ll*a[i]*s%mod;
	fwt();a[0]=0;
	for(int i=1;i<n;i++) a[i]=qpow(a[i]-1,mod-2);
	fwt();
	puts("0");
	for(int i=1;i<n;i++) dec(a[i],a[0]),cout<<a[i]<<'\n';
	return 0;
}
