Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;template<typename T> void println(const T &t) { cout << t << '\n'; }template<typename T, typename ...Args> void println(const T &t, const Args &...rest) { cout << t << ' '; println(rest...); }template<typename T> void print(const T &t) { cout << t << ' '; }template<typename T, typename ...Args> void print(const T &t, const Args &...rest) { cout << t; print(rest...); }// this overload is chosen when there's only one argumenttemplate<class T> void scan(T &t) { cin >> t; }template<class T, class ...Args> void scan(T &a, Args &...rest) { cin >> a; scan(rest...); }using ll = long long;using vl = vector<ll>;using vi = vector<int>;#define rng(i, a, b) for(int i = (a); i < (b); ++i)#define rep(n) for(int _ = 0, __ = (int)n; _ < __; _++)#define stp(i, a, b, c) for (int i = (a); i < (b); i += (c))#define FOR(x, cont) for (auto &x: cont)#define all(x) (x).begin(), (x).end()#define pb push_back#define eb emplace_back#define SZ(x) (int)(x).size()#define pq(T,COMP) priority_queue<T, vector<T>, COMP>#define popcnt(x) __builtin_popcount((x))auto bet = [](const ll x, const ll y, const ll i) {return x <= i && i <= y;};using pii = pair<int,int>;using vb = vector<bool>;