foo.cc: In function 'long long int IO::rd(long long int)':
foo.cc:7:77: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
7 | #define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<23,stdin),*p2=0),*p1++)
| ~~~^~
foo.cc:10:42: note: in expansion of macro 'getchar'
10 | for(;!isdigit(ibuf);ibuf=getchar());
| ^~~~~~~
foo.cc:7:77: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
7 | #define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<23,stdin),*p2=0),*p1++)
| ~~~^~
foo.cc:11:41: note: in expansion of macro 'getchar'
11 | for(;isdigit(ibuf);ibuf=getchar())x=x*10+(ibuf^48);
| ^~~~~~~
foo.cc: In function 'long long int IO::rds(char*, long long int)':
foo.cc:7:77: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
7 | #define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<23,stdin),*p2=0),*p1++)
| ~~~^~
foo.cc:16:42: note: in expansion of macro 'getchar'
16 | for(;!isgraph(ibuf);ibuf=getchar());
| ^~~~~~~
foo.cc:7:77: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
7 | #define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<23,stdin),*p2=0),*p1++)
| ~~~^~
foo.cc:17:41: note: in expansion of macro 'getchar'
17 | for(;isgraph(ibuf);ibuf=getchar())s[x++]=ibuf;
| ^~~~~~~
foo.cc: In function 'int main()':
foo.cc:83:13: warning: unused variable 'c' [-Wunused-variable]
83 | int c=rd(),T=rd();
| ^