fread
#include<cstdio>
#include<cctype>
#define rg register
using namespace std;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
static char buf[1<<21],*p1=buf,*p2=buf;
inline int read(){
rg int f=0,x=0;
rg char ch=gc();
while(!isdigit(ch)) f|=(ch=='-'),ch=gc();
while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=gc();
return f?-x:x;
}