#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math")
#define gc readchar
#define pc putchar_unlocked
inline char readchar() {
static char buf[1<<20], *p = buf, *q = buf;
if(p == q && (q = (p=buf)+fread(buf,1,1<<20,stdin)) == buf) return EOF;
return *p++;
}
unsigned int scanInt()
{
register char ch;
register unsigned int x = 0;
while ((ch = gc()) >= '0')
x = x * 10 + ch - '0';
return x;
}
void printInt(int n) {
if (n/10) printInt(n/10);
pc((n%10) + '0');
}