char buf[1<<25],*p1=buf,*p2=buf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<25,stdin),p1==p2)?EOF:*p1++)
unsigned int i;
#define getint(i) for(i=0;c=getchar(),c!=EOF&&c!='\n'&&c!=' ';){i*=10;i+=c-'0';}