grader.c: In function 'int main()':
grader.c:18:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
int res;
^~~
game.cpp:22:10: warning: ISO C++11 requires whitespace after the macro name
#define Y[v] s[v]
^
game.cpp:23:10: warning: ISO C++11 requires whitespace after the macro name
#define Y[ L[v] ] s[ L[v] ]
^
game.cpp:23:0: warning: "Y" redefined
#define Y[ L[v] ] s[ L[v] ]
game.cpp:22:0: note: this is the location of the previous definition
#define Y[v] s[v]
game.cpp:24:10: warning: ISO C++11 requires whitespace after the macro name
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:24:0: warning: "Y" redefined
#define Y[ R[v] ] s[ R[v] ]
game.cpp:23:0: note: this is the location of the previous definition
#define Y[ L[v] ] s[ L[v] ]
game.cpp: In function 'll qry_y(int, int, int, int, int)':
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:8:21: note: in expansion of macro 'tm'
#define sol L[v],tl,tm
^~
game.cpp:46:19: note: in expansion of macro 'sol'
return gcd(qry_y(sol,ly,ry) , qry_y(sag,ly,ry));
^~~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:9:18: note: in expansion of macro 'tm'
#define sag R[v],tm+1,tr
^~
game.cpp:46:38: note: in expansion of macro 'sag'
return gcd(qry_y(sol,ly,ry) , qry_y(sag,ly,ry));
^~~
game.cpp: In function 'll qry_x(int, int, int, int, int, int, int)':
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp: In function 'll qry_x(int, int, int, int, int, int, int)':
game.cpp:24:19: error: expected ')' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:50:61: error: invalid user-defined conversion from 'qry_x(int, int, int, int, int, int, int)::<lambda()>' to 'int' [-fpermissive]
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:24:17: note: candidate is: qry_x(int, int, int, int, int, int, int)::<lambda()>::operator void (*)()() const <near match>
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:24:17: note: no known conversion from 'void (*)()' to 'int'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:50:41: note: in expansion of macro 'Y'
if (lx <= tl && tr <= rx) return qry_y(Y[v], 0, mod, ly, ry);
^
game.cpp:43:4: note: initializing argument 1 of 'll qry_y(int, int, int, int, int)'
ll qry_y(_, int ly, int ry) {
^~~~~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:8:21: note: in expansion of macro 'tm'
#define sol L[v],tl,tm
^~
game.cpp:51:19: note: in expansion of macro 'sol'
return gcd(qry_x(sol,lx,rx,ly,ry) , qry_x(sag,lx,rx,ly,ry));
^~~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:9:18: note: in expansion of macro 'tm'
#define sag R[v],tm+1,tr
^~
game.cpp:51:44: note: in expansion of macro 'sag'
return gcd(qry_x(sol,lx,rx,ly,ry) , qry_x(sag,lx,rx,ly,ry));
^~~
game.cpp: In function 'void up_y(int, int, int, int, int, int, ll)':
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:60:12: note: in expansion of macro 'tm'
if(posy > tm) { if(!R[v]) R[v] = ++id; up_y(sag,posy,R[r1],R[r2],t); }
^~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:9:18: note: in expansion of macro 'tm'
#define sag R[v],tm+1,tr
^~
game.cpp:60:46: note: in expansion of macro 'sag'
if(posy > tm) { if(!R[v]) R[v] = ++id; up_y(sag,posy,R[r1],R[r2],t); }
^~~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:8:21: note: in expansion of macro 'tm'
#define sol L[v],tl,tm
^~
game.cpp:61:46: note: in expansion of macro 'sol'
else { if(!L[v]) L[v] = ++id; up_y(sol,posy,L[r1],L[r2],t); }
^~~
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:65:21: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
if(id == N - 5) while(1);
^~~~~
game.cpp:66:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
if(tl < tr){
^~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:67:13: note: in expansion of macro 'tm'
if(posx > tm) { if(!R[v]) R[v] = ++id; up_x(sag,posx,posy,t); }
^~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:9:18: note: in expansion of macro 'tm'
#define sag R[v],tm+1,tr
^~
game.cpp:67:47: note: in expansion of macro 'sag'
if(posx > tm) { if(!R[v]) R[v] = ++id; up_x(sag,posx,posy,t); }
^~~
game.cpp:7:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
#define tm (tl+tr >> 1)
~~^~
game.cpp:8:21: note: in expansion of macro 'tm'
#define sol L[v],tl,tm
^~
game.cpp:68:47: note: in expansion of macro 'sol'
else { if(!L[v]) L[v] = ++id; up_x(sol,posx,posy,t); }
^~~
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:6: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:6: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:6: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:6: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:24:19: error: expected ')' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:6: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:12: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:12: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:12: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:12: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:24:19: error: expected ';' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:70:12: note: in expansion of macro 'Y'
if(!Y[v]) Y[v] = ++id;
^
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:24:19: error: expected ')' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:24:19: error: expected ')' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:12: warning: capture of variable 'R' with non-automatic storage duration
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:33: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:27:10: note: 'int R [16038000]' declared here
int L[N],R[N],id;
^
game.cpp:24:13: error: expected ',' before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:33: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:13: error: expected identifier before '[' token
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:33: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In lambda function:
game.cpp:24:19: error: expected '{' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:33: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp: In function 'void up_x(int, int, int, int, int, ll)':
game.cpp:24:19: error: expected ')' before 's'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:33: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:71:56: error: invalid user-defined conversion from 'up_x(int, int, int, int, int, ll)::<lambda()>' to 'int' [-fpermissive]
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:17: note: candidate is: up_x(int, int, int, int, int, ll)::<lambda()>::operator void (*)()() const <near match>
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:17: note: no known conversion from 'void (*)()' to 'int'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:7: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:54:6: note: initializing argument 1 of 'void up_y(int, int, int, int, int, int, ll)'
void up_y(_, int posy, int r1, int r2, ll t){
^~~~
game.cpp:71:56: error: invalid user-defined conversion from 'up_x(int, int, int, int, int, ll)::<lambda()>' to 'int' [-fpermissive]
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:17: note: candidate is: up_x(int, int, int, int, int, ll)::<lambda()>::operator void (*)()() const <near match>
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:24:17: note: no known conversion from 'void (*)()' to 'int'
#define Y[ R[v] ] s[ R[v] ]
^
game.cpp:71:23: note: in expansion of macro 'Y'
up_y(Y[v],0,mod,posy,Y[ L[v] ],Y[ R[v] ],(tl==tr?t:-1));
^
game.cpp:54:6: note: initializing argument 5 of 'void up_y(int, int, int, int, int, int, ll)'
void up_y(_, int posy, int r1, int r2, ll t){
^~~~
game.cpp:71:56: error: invalid user-defined conversion from 'up_x(int, int, int, int, int, ll)::