#include using namespace std; // Type alias using ll=long long; using ld=double; using pi=pair; using pll=pair; using pld=pair; using ti3=tuple; using vi=vector; using vll=vector; using vld=vector; using vpi=vector; using vpll=vector; using vpld=vector; using vti3=vector; // Constants const double EPS = 1e-9; const int inf = numeric_limits::max() / 2; const ll mod = 1e9+7; // Macro #define rep(i,n) for(int i=0;i=0;--i) #define REP(i,a,b) for(int i=int(a);i=int(a);--i) #define SHOW(a) cout << #a << " = " << a << endl #define ARR(a,n) for(int i=0;i