Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;#define PI acos(-1.0)#define EPS 1e-8#define all(x) (x).begin(), (x).end()#define rall(x) (x).rbegin(), (x).rend()#define pb push_back#define fi first#define se second#define go(i, a, b) for(int i = a; i <= b; ++i)#define gorev(i, a, b) for(int i = a; i >= b; --i)typedef long double ld;typedef long long ll;typedef pair<int, int> pii;typedef vector<int> vi;typedef vector<vector<int>> vvi;const ll mod = (ll)1e9 + 7;template <class L, class R> ostream &operator <<(ostream &os, pair<L, R> P){return os << "(" << P.fi << "," << P.se << ")";}template <class T> ostream &operator <<(ostream &os, vector<T> V){os << "["; for (auto vv: V) os << vv << ","; return os << "]";}template <class L, class R> ostream &operator <<(ostream &os, map<L, R> M){os << "["; for (auto pr: M) os << pr.fi << "->" << pr.se << ","; return os << "]";}template <class L, class R> ostream &operator <<(ostream &os, unordered_map<L, R> M){