
1 struct FastIO { 2 static const int S = 1310720; 3 int wpos; 4 char wbuf[S]; 5 FastIO() : wpos(0) { } 6 inline int xchar() { 7 static char buf[S]; 8 static int len = 0, pos = 0; 9 if (pos == len) pos = 0, len = fread(buf, 1, S, stdin); 10 if (pos == len) return -1; 11 return buf[pos++]; 12 } 13 inline int xint() { 14 int c = xchar(), x = 0, s = 1; 15 while (c <= 32) c = xchar(); 16 if (c == '-') s = -1, c = xchar(); 17 for (; '0' <= c && c <= '9'; c = xchar()) x = x * 10 + c - '0'; 18 return x * s; 19 } 20 ~FastIO() { 21 if (wpos) fwrite(wbuf, 1, wpos, stdout), wpos = 0; 22 } 23 } io;