secret.cpp: In constructor 'disjoint_sparse_table<T>::disjoint_sparse_table(std::vector<_Tp>&, std::function<T(T, T)>)':
secret.cpp:21:32: error: 'x' was not declared in this scope
21 | D[i][k] = D[i - 1][x];
| ^
secret.cpp: In instantiation of 'disjoint_sparse_table<T>::disjoint_sparse_table(std::vector<_Tp>&, std::function<T(T, T)>) [with T = int]':
secret.cpp:53:46: required from here
secret.cpp:7:13: warning: 'disjoint_sparse_table<int>::A' will be initialized after [-Wreorder]
7 | vector<T> A;
| ^
secret.cpp:6:21: warning: 'std::function<int(int, int)> disjoint_sparse_table<int>::f' [-Wreorder]
6 | function<T(T, T)> f;
| ^
secret.cpp:11:3: warning: when initialized here [-Wreorder]
11 | disjoint_sparse_table(vector<T> &A, function<T(T, T)> f): A(A), f(f){
| ^~~~~~~~~~~~~~~~~~~~~