#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int llint; #define mp make_pair #define mt make_tuple #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define fir first #define sec second #define res resize #define ins insert #define era erase const int mod=1000000007; const llint big=1e18+10; const long double pai=3.141592653589793238462643383279502884197; const long double eps=1e-9; template void mineq(T& a,U b){if(a>b){a=b;}} template void maxeq(T& a,U b){if(a>= 1;b = (b << 1) % m; } return res; } uint64_t bekmod(uint64_t a, uint64_t b, uint64_t m) {//a^bmodm int64_t res=1,gen=a; while (b!=0) { if(b&1){res=mulmod(res,gen,m);} gen=mulmod(gen,gen,m);b>>=1; } return res; } bool isprime(llint n){ //cout<<"de"<1;qb*=2){ if(ispa(n-qb)){cout<<"Yes"<>q; for(int i=0;i