//快读
inline int read()
{
//register意思是将变量放入寄存器,大幅提升效率
register int s = 0, t = 1;
register char ch = getchar(); // 读入单个字符到寄存器
//为了避免输入数字之前的空格造成影响以及判断正负
while (ch < '0' || ch>'9')
{
//判断是否是负数
if(ch=='-')
{
t = -1;
}
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar();
}
return t * s;
}
//快写
inline void write(int n)
{
if (n < 0)
{
putchar('-');
n *= -1;
}
if (n > 9)
{
write(n / 10);
}
putchar(n % 10 + '0');
}