#include #include #include #include using namespace std; const int maxn=100005; const double Pi=acos(-1); int n,m,r[maxn<<2]; struct Complex { double x,y; inline Complex() { x=y=0; } inline Complex(const double &xx,const double &yy):x(xx),y(yy) { } }; inline Complex operator+(const Complex &a,const Complex &b) { return Complex(a.x+b.x,a.y+b.y); } inline Complex operator-(const Complex &a,const Complex &b) { return Complex(a.x-b.x,a.y-b.y); } inline Complex operator*(const Complex &a,const Complex &b) { return Complex(a.x*b.x-a.y*b.y,a.x*b.y+a.y*b.x); } Complex a[maxn<<2]; inline void fft(Complex *f,int n,int op) { for(int i=0;i>1]>>1)|((i&1)?n>>1:0); // for(int i=0;i