foo.cpp: In member function 'Fw<T>& Fw<T>::operator,(int)':
foo.cpp:56:67: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WI(S) if(x){if(x<0)P('-'),x=-x;char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:51: note: in expansion of macro 'WI'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp:56:99: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WI(S) if(x){if(x<0)P('-'),x=-x;char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:51: note: in expansion of macro 'WI'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp: In member function 'Fw<T>& Fw<T>::operator()(int)':
foo.cpp:56:67: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WI(S) if(x){if(x<0)P('-'),x=-x;char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:78: note: in expansion of macro 'WI'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp:56:99: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WI(S) if(x){if(x<0)P('-'),x=-x;char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:78: note: in expansion of macro 'WI'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp: In member function 'Fw<T>& Fw<T>::operator,(uint)':
foo.cpp:59:48: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WU(S) if(x){char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:105: note: in expansion of macro 'WU'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp:59:80: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WU(S) if(x){char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:60:105: note: in expansion of macro 'WU'
template<typename T>struct Fw{T P;I Fw&OP,(int x){WI(10);RT}I Fw&OP()(int x){WI(10);RT}I Fw&OP,(uint x){WU(10);RT}
^~
foo.cpp: In member function 'Fw<T>& Fw<T>::operator()(uint)':
foo.cpp:59:48: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WU(S) if(x){char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:61:19: note: in expansion of macro 'WU'
I Fw&OP()(uint x){WU(10);RT}I Fw&OP,(ll x){WI(19);RT}I Fw&OP()(ll x){WI(19);RT}I Fw&OP,(ull x){WU(19);RT}
^~
foo.cpp:59:80: warning: array subscript has type 'char' [-Wchar-subscripts]
#define WU(S) if(x){char s[S],c=0;while(x)s[c++]=x%10+'0',x/=10;while(c--)P(s[c]);}else P('0')
^
foo.cpp:61:19: note: in expansion of macro 'WU'
I Fw&OP()(uint x){WU(10);RT}I Fw&OP,(ll x){WI(19