#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define pb push_back #define mp make_pair #define TASKNAME "" #ifdef LOCAL #define eprintf(...) fprintf(stderr,__VA_ARGS__) #else #define eprintf(...) #endif #define TIMESTAMP(x) eprintf("[" #x "] Time = %.3lfs\n",clock()*1.0/CLOCKS_PER_SEC) #ifdef linux #define LLD "%lld" #else #define LLD "%I64d" #endif #define sz(x) ((int)(x).size()) #define strstr strstr_wregthrtu using namespace std; typedef long double ld; typedef long long ll; typedef vector vll; typedef vector vi; typedef vector vvi; typedef vector vb; typedef vector vvb; typedef pair pii; typedef pair pll; //const int inf = 1e9; const double eps = 1e-9; //const double INF = inf; const double EPS = eps; const long long checkItCnt = 1000000; const long long maxn = (ll)1e18; // BEGIN ALGO //a*x+b*y=__gcd(a,b) a>0 b>0 void gcdex2(ll a,ll b,ll *x,ll *y) { if (a