//模板(只能用于整数)
template <typename T> inline voidread(T &x){char c; x =0; bool flag =0;
c =getchar();while(c >'9'|| c <'0'){if(c =='-')flag =1; c =getchar();}while(c <='9'&& c >='0'){x = x*10+c-48; c =getchar();}if(flag) x = x*(-1);}
template <typename T> inline voidwrite(T x){if(x<0)putchar('-'), x =-x;if(x >=10)write(x/10);putchar(x%10+'0');}