char cc; namespace fastIO { const int size=1<<15|1; char buf[size],*l,*r; void getChar(char &c) { if(l==r) r=(l=buf)+fread(buf,1,size,stdin); c= l==r? (char)EOF:*l++; } template<typename T> void read(T &aa) { aa=0;getChar(cc); while(cc<'0'||cc>'9') getChar(cc); while(cc>='0'&&cc<='9') aa=aa*10+cc-'0',getChar(cc); } }