#include #define FOR(i, n) for(lli i = 0; i < (lli)(n); ++i) #define ALL(x) (x).begin(), (x).end() #define X(A) get<0>(A) #define Y(A) get<1>(A) #define Z(A) get<2>(A) #define W(A) get<3>(A) #define mt make_tuple using namespace std; using lli = long long int; using pii = tuple; using piii = tuple; using vi = vector; using vii = vector; using viii = vector; using vvi = vector; using vvii = vector; using vviii = vector; using vb = vector; using vvb = vector;