读入优化&输出优化
long long read(){
long long X=0,W=1;
char ch=0;
while(ch<'0'||ch>'9'){
if(ch=='-'){
W=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9'){
X=(X<<3)+(X<<1)+ch-'0';
ch=getchar();
}
return X*W;
}
void out(long long X){
if(X<0){
putchar('-'),X=-X;
}
if(X>9){
out(X/10);
}
putchar(X%10+'0');
}