#include using namespace std; typedef int I; typedef double D; typedef long long int LL; typedef long double LD; typedef complex CPX; typedef pair PII; typedef pair PLL; typedef pair PDLL; typedef pair PDI; typedef vector VI; typedef vector VLL; typedef vector VD; typedef vector VLD; typedef vector VCPX; typedef vector VPII; typedef vector VPLL; typedef vector VPDLL; typedef vector VPDI; typedef pair PVI; typedef set SI; typedef set SLL; typedef set SD; typedef set SLD; typedef set SCPX; typedef set SPII; typedef set SPLL; typedef set SPDLL; typedef set SPDI; #define endl '\n' #define fr first #define sc second #define pb push_back #define eb emplace_back #define mp make_pair #define mt make_tuple #define ins insert #define ers erase #define lb lower_bound #define ub upper_bound #define fd find #define all(x) (x).begin(),(x).end() #define srt(x) sort(all(x)) #define srtn(x,N) sort((x),(x)+(N)) #define lsrt(x,L) sort(all(x),(L)) #define lsrtn(x,N,L) sort((x),(x)+(N),(L)) #define sz(v) ((int)(v).size()) #define ifor(i,st,ed) for(int i=(st);i<=(ed);++i) #define dfor(i,st,ed) for(int i=(st);i>=(ed);--i) #define efor(it,x) for(auto it:(x)) #define cout(x) cout<