#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define FORD(i, a, b) for(int i = (a); i >= (b); --i) #define FORE(i, c) for(auto i = (c).begin(); i != (c).end(); ++i) #define all(v) (v).begin(),(v).end() #define vi vector #define pii pair #define X first #define Y second #define mp make_pair #define pb push_back #define debug(x) {cerr <<#x <<" = " <