0_0_39575913_23281.cpp: In function 'int STRUGGLING(long long unsigned int)':
0_0_39575913_23281.cpp:193:43: error: 'STRUGGLING(long long unsigned int)::SMM::op' is not a valid template argument for type 'STRUGGLING(long long unsigned int)::SMM (*)(STRUGGLING(long long unsigned int)::SMM, STRUGGLING(long long unsigned int)::SMM)' because 'static STRUGGLING(long long unsigned int)::SMM::S STRUGGLING(long long unsigned int)::SMM::op(S, S)' has no linkage
193 | lib::Light_Segtree<SMM, SMM::op, SMM::e> o(n + 1);
| ^
0_0_39575913_23281.cpp:193:43: error: 'STRUGGLING(long long unsigned int)::SMM::e' is not a valid template argument for type 'STRUGGLING(long long unsigned int)::SMM (*)()' because 'static STRUGGLING(long long unsigned int)::SMM::S STRUGGLING(long long unsigned int)::SMM::e()' has no linkage
0_0_39575913_23281.cpp:194:43: error: 'STRUGGLING(long long unsigned int)::SLR::op' is not a valid template argument for type 'STRUGGLING(long long unsigned int)::SLR (*)(STRUGGLING(long long unsigned int)::SLR, STRUGGLING(long long unsigned int)::SLR)' because 'static STRUGGLING(long long unsigned int)::SLR::S STRUGGLING(long long unsigned int)::SLR::op(S, S)' has no linkage
194 | lib::Light_Segtree<SLR, SLR::op, SLR::e> op(n + 1);
| ^
0_0_39575913_23281.cpp:194:43: error: 'STRUGGLING(long long unsigned int)::SLR::e' is not a valid template argument for type 'STRUGGLING(long long unsigned int)::SLR (*)()' because 'static STRUGGLING(long long unsigned int)::SLR::S STRUGGLING(long long unsigned int)::SLR::e()' has no linkage
0_0_39575913_23281.cpp: In lambda function:
0_0_39575913_23281.cpp:199:32: error: request for member 'prod' in 'op', which is of non-class type 'int'
199 | ret = SLR::op(ret, op.prod(dfn[top[x]], dfn[x]));
| ^~~~
0_0_39575913_23281.cpp:203:30: error: request for member 'prod' in 'op', which is of non-class type 'int'
203 | return SLR::op(ret, op.prod(dfn[x], dfn[y]));
| ^~~~
0_0_39575913_23281.cpp: In function 'int STRUGGLING(long long unsigned int)':
0_0_39575913_23281.cpp:205:34: error: request for member 'set' in 'o', which is of non-class type 'int'
205 | for (tp i = 1; i <= n; ++i) o.set(w[i], SMM(i, i, dep[i], dep[i]));
| ^~~
0_0_39575913_23281.cpp:206:35: error: request for member 'set' in 'op', which is of non-class type 'int'
206 | for (tp i = 1; i <= n; ++i) op.set(dfn[i], SLR(w[i], w[i]));
| ^~~
0_0_39575913_23281.cpp: In lambda function:
0_0_39575913_23281.cpp:219:12: error: request for member 'set' in 'o', which is of non-class type 'int'
219 | o.set(w[l], SMM(l, l, dep[l], dep[l]));
| ^~~
0_0_39575913_23281.cpp:220:12: error: request for member 'set' in 'o', which is of non-class type 'int'
220 | o.set(w[r], SMM(r, r, dep[r], dep[r]));
| ^~~
0_0_39575913_23281.cpp:223:13: error: request for member 'set' in 'op', which is of non-class type 'int'
223 | op.set(dfn[l], SLR(w[l], w[l]));
| ^~~
0_0_39575913_23281.cpp:224:13: error: request for member 'set' in 'op', which is of non-class type 'int'
224 | op.set(dfn[r], SLR(w[r], w[r]));
| ^~~
0_0_39575913_23281.cpp:226:34: error: request for member 'prod' in 'o', which is of non-class type 'int'
226 | auto [x, y, dx, dy] = o.prod(l, r);
| ^~~~
|