synchronization.cpp: In function 'void shift(int, int, int)':
synchronization.cpp:67:12: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
67 | SET(seg[v], lz[v] * (tr - tl + 1));
| ~~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^
synchronization.cpp:70:14: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
70 | SET(lz[v<<1], lz[v]);
| ~~~~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^
synchronization.cpp:71:20: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
71 | SET(lz[v << 1 | 1], lz[v]);
| ~~~~~~~~~~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^
synchronization.cpp:73:10: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
73 | SET(lz[v], -1);
| ~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^
synchronization.cpp: In function 'void set_val(int, int, int, int, int, int)':
synchronization.cpp:83:11: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
83 | SET(lz[v], val);
| ~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^
synchronization.cpp:91:11: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int'
91 | SET(seg[v], seg[v << 1] + seg[v << 1 | 1]);
| ~~~~~^
synchronization.cpp:56:15: note: initializing argument 1 of 'void SET(int&, int)'
56 | void SET(int& x, int y) {
| ~~~~~^