#includeusing namespace std;#define ll long longconst ll maxn = 3e5+5;const ll mod = 1e9+7;ll n;ll a[maxn], b[maxn];void fwt(ll *a){ for(ll d=1;d <<=1) for(ll m=d<<1,i=0;i >= 1; } return res;}int main () { cin >> n; for(ll i = 0; i < n; i++){ scanf("%lld", &a[i]); } for(ll i = 0; i < n; i++){ scanf("%lld", &b[i]); } fwt(a); fwt(b); for(ll i = 0; i < n; i++){ if (a[i] != 0){ b[i] = b[i]*qw(a[i], mod-2)%mod; } } fwt(b); for(ll i = 0; i < n; i++){ b[i] = b[i]*qw(n, mod-2)%mod; printf("%lld\n", b[i]); } return 0;}