osmosmjerka.cpp: In function 'std::string uppercase(std::string)':
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:115:3: note: in expansion of macro 'rep'
115 | rep(i,n) if (s[i] >= 'a' && s[i] <= 'z') s[i] = s[i] - 'a' + 'A';
| ^~~
osmosmjerka.cpp: In function 'std::string lowercase(std::string)':
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:121:3: note: in expansion of macro 'rep'
121 | rep(i,n) if (s[i] >= 'A' && s[i] <= 'Z') s[i] = s[i] - 'A' + 'a';
| ^~~
osmosmjerka.cpp: In function 'long long int add(long long int, long long int)':
osmosmjerka.cpp:137:50: warning: comparison of integer expressions of different signedness: 'long long int' and 'const uint64_t' {aka 'const long unsigned int'} [-Wsign-compare]
137 | static inline ll add(ll x, ll y) {x+=y; return x >= MOD ? x-MOD : x;}
| ~~^~~~~~
osmosmjerka.cpp: In function 'uint32_t mul(uint32_t, uint32_t)':
osmosmjerka.cpp:143:12: warning: comparison of integer expressions of different signedness: 'int64_t' {aka 'long int'} and 'const uint64_t' {aka 'const long unsigned int'} [-Wsign-compare]
143 | return z >= MOD ? z-MOD : z;
| ~~^~~~~~
osmosmjerka.cpp: In function 'void solve(int, int)':
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:171:5: note: in expansion of macro 'rep'
171 | rep(i,n) rep(j,m) hash_[i][j][0] = v[i][j];
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:171:14: note: in expansion of macro 'rep'
171 | rep(i,n) rep(j,m) hash_[i][j][0] = v[i][j];
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:172:5: note: in expansion of macro 'rep'
172 | rep(i,n) rep(j,m) nxt[i][j][0] = {ADD(i,dx,n) , ADD(j,dy,m)};
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:172:14: note: in expansion of macro 'rep'
172 | rep(i,n) rep(j,m) nxt[i][j][0] = {ADD(i,dx,n) , ADD(j,dy,m)};
| ^~~
osmosmjerka.cpp:30:31: warning: unnecessary parentheses in declaration of 'k' [-Wparentheses]
30 | #define loope(i,s,e) for (int (i)=(s);(i)<=(e);++(i))
| ^
osmosmjerka.cpp:33:19: note: in expansion of macro 'loope'
33 | #define repn(i,n) loope(i,1,n)
| ^~~~~
osmosmjerka.cpp:176:5: note: in expansion of macro 'repn'
176 | repn(k,LOGK-1)
| ^~~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:178:9: note: in expansion of macro 'rep'
178 | rep(i,n) rep(j,m)
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:178:18: note: in expansion of macro 'rep'
178 | rep(i,n) rep(j,m)
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:188:5: note: in expansion of macro 'rep'
188 | rep(i,n) rep(j,m)
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:188:14: note: in expansion of macro 'rep'
188 | rep(i,n) rep(j,m)
| ^~~
osmosmjerka.cpp: In function 'int main()':
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:211:3: note: in expansion of macro 'rep'
211 | rep(i,n)
| ^~~
osmosmjerka.cpp:29:30: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
29 | #define loop(i,s,e) for (int (i)=(s);(i)<(e);++(i))
| ^
osmosmjerka.cpp:32:18: note: in expansion of macro 'loop'
32 | #define rep(i,n) loop(i,0,n)
| ^~~~
osmosmjerka.cpp:214:5: note: in expansion of macro 'rep'
214 | rep(j,m) v[i][j] = s[j];
| ^~~
osmosmjerka.cpp:30:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
30 | #define loope(i,s,e) for (int (i)=(s);(i)<=(e);++(i))
| ^
osmosmjerka.cpp:217:3: note: in expansion of macro 'loope'
217 | loope(i,-1,1) loope(j,-1,1)
| ^~~~~
osmosmjerka.cpp:30:31: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
30 | #define loope(i,s,e) for (int (i)=(s);(i)<=(e);++(i))
| ^
osmosmjerka.cpp:217:17: note: in expansion of macro 'loope'
217 | loope(i,-1,1) loope(j,-1,1)
| ^~~~~
osmosmjerka.cpp:8:23: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
8 | #define si2(x,y) scanf("%d %d",&x,&y)
| ~~~~~^~~~~~~~~~~~~~~
osmosmjerka.cpp:210:3: note: in expansion of macro 'si2'
210 | si2(n,m); si(k);
| ^~~
osmosmjerka.cpp:7:20: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
7 | #define si(x) scanf("%d",&x)
| ~~~~~^~~~~~~~~
osmosmjerka.cpp:210:13: note: in expansion of macro 'si'
210 | si2(n,m); si(k);
| ^~