Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#include <ext/pb_ds/tree_policy.hpp>//#pragma comment(linker, "/STACK:1024000000,1024000000") //C++扩栈using namespace std;#define fi first#define se second#define SZ(x) (int)(x).size()#define pb push_back#define eb emplace_back#define all(x) x.begin(), x.end()#define debug(x) cerr << #x <<": " << (x) << endl#define DEBUG printf("Passing [%s] in LINE %d\n",__FUNCTION__,__LINE__)#ifdef LOCAL#define see(x) cout << #x << ": " << (x) << endl#endif#ifndef LOCAL#define see(x)#endif#define rep(n) for(int _ = 0; _ != (n); ++_)//#define rep(i, a, b) for(int i = (a); i <= (b); ++i)#define Rng(i, n) for(int i = 0; i != (n); ++i)#define rng(i, a, b) for(int i = (int)(a); i < (int)(b); ++i)#define rno(i, b) for(int i = 0; i<(b); ++i)#define rnc(i, a, b) for(int i = (a); i<=(b); ++i)#define FOR(i, a) for(auto &i: (a))#define dwn(i, r, l) for(int i = (r); i>=(l); i--)