#include<iostream>
#include<cmath>
using namespace std;
const int N=4e6+6;
const double Pi=acos(-1.0);
struct complex{
double x,y;
complex(double _x=0,double _y=0){x=_x,y=_y;}
}a[N],b[N];
complex operator +(complex a,complex o){return complex(a.x+o.x,a.y+o.y);}
complex operator -(complex a,complex o){return complex(a.x-o.x,a.y-o.y);}
complex operator *(complex a,complex o){return complex(a.x*o.x-a.y*o.y,a.x*o.y+a.y*o.x);}
void FFT(int limit,complex *a,int type){for(int i=0;i<=limit;i++) cout<<a[i].x<<endl;
if(limit==1) return;
complex a1[limit>>1],a2[limit>>1];
for(int i=0;i<=limit;i+=2)
a1[i>>1]=a[i],a2[i>>1]=a[i+1];
FFT(limit>>1,a1,type),FFT(limit>>1,a2,type);
complex Wn=complex(cos(2.0*Pi/limit),type*sin(2.0*Pi/limit)),w=complex(1,0);
for(int i=0;i<(limit>>1);i++,w=w*Wn)
a[i]=a1[i]+w*a2[i],a[i+(limit>>1)]=a1[i]-w*a2[i];
}
int main(){
int n,m;cin>>n>>m;
for(int i=0;i<=n;i++) cin>>a[i].x;
for(int i=0;i<=m;i++) cin>>b[i].x;
int limit=1;while(limit<=n+m) limit<<=1;
FFT(limit,a,1),FFT(limit,b,1);
for(int i=0;i<=limit;i++) a[i]=a[i]*b[i];
FFT(limit,a,-1);
for(int i=0;i<=n+m;i++) cout<<(int)(a[i].x/limit+0.5)<<" ";
return 0;
}