由于模板1写太多爆了所以才有的模板2
//各种模板
#include <bits/stdc++.h>
//#include <windows.h>
//#include <unistd.h>
using namespace std;
#define endl '\n'
#define TRACE 1
#define tcout TRACE && cout
#define fst ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define int long long
#define all(a) (a).begin(),(a).end()
#define rep(name, start, end) for(int name = (start); name <= (end); i ++)
#define xs(n) cout << fixed << setprecision(n)
const int P = 998244353;
const int Base = 3221225477;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e6 + 10, M = 2e6 + 10;
int read()
{
int x = 0, w = 1;
char ch = 0;
while (ch < '0' || ch > '9')
{
if (ch == '-') w = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
x = x * 10 + (ch - '0');
ch = getchar();
}
return x * w;
}
void write(int x)
{
if (x < 0)
{
x = -x;
putchar('-');
}
if (x > 9) write(x / 10);
putchar(x % 10 + '0');
}
int shi_er(int x) //10 - 2
{
if(x>1) return shi_er(x/2)*10+x%2;
else return x%2;
}
long long fastPower(long long base, long long power) //pow pro max
{
long long result = 1;
while (power > 0) {
if (power % 2 == 1) {
result = result * base % Mod;
}
power = power / 2;
base = (base * base) % Mod;
}
return result;
}
int gcd(int a,int b) //gcd
{
if(b==0) return a;
return gcd(b,a%b);
}
int lcm(int a,int b) //lcm
{
return a*b/gcd(a,b);
}
int isprime(int x) //质数
{
if(x==1||x%2==0&&x!=2)return false;
for(int i=3;i<=sqrt(x);i+=2)
{
if(x%i==0) return false;
}
return true;
}
string Itoa(int num,int R) //10 - max(36)
{
string str;
int rmd;
char ch;
if(num==0) str="0";
while(num>0) {
rmd=num%R;
ch=(rmd<10)?(rmd+'0'):(rmd-10+'A'); // 小于10表示为[0,9],否则减去10+'A'
str=ch+str;
num/=R;
}
if(str.size()==1) str="0"+str;
return str;
}
int Atoi(string s,int R) {
int res=0;
for(int i=0;i<s.size();i++) {
if(s[i]>='0' && s[i]<'9') {
res=res*R+s[i]-'0';
} else if(s[i]>='A' && s[i]<='Z') {
res=res*R+s[i]-'A'+10;
}
}
return res;
}
int randint(int l, int r)
{
return rand() % (r - l + 1) + l;
}
void code()
{
huan;
}
void tt()
{
int t;
read(t);
while (t --)
{
code();
}
}
void printf_red(const char *s)
{
printf("\033[0m\033[1;31m%s\033[0m", s);
}
void printf_green(const char *s)
{
printf("\033[0m\033[1;32m%s\033[0m", s);
}
void printf_yellow(const char *s)
{
printf("\033[0m\033[1;33m%s\033[0m", s);
}
void printf_blue(const char *s)
{
printf("\033[0m\033[1;34m%s\033[0m", s);
}
void printf_pink(const char *s)
{
printf("\033[0m\033[1;35m%s\033[0m", s);
}
void printf_cyan(const char *s)
{
printf("\033[0m\033[1;36m%s\033[0m", s);
}
signed main()
{
srand(time(0));
fst;
exit(0);
}
signed main()
{
fst;
exit(0);
}
//游戏编辑模板
#include <bits/stdc++.h>
#include <windows.h>
//#include <unistd.h>
using namespace std;
#define endl '\n'
#define TRACE 1
#define tcout TRACE && cout
#define fst ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define int long long
#define interesting long long
#define read(a) ;fst;cin >> (a)
#define out(a) fst;cout << (a) << endl;
#define huan fst;cout << endl;
#define all(a) (a).begin(),(a).end()
#define z_for_string(name, end) for(int name = 0; name < (end); i ++)
#define d_for_string(name, end) for(int name = (end); name > 0; i --)
#define z_rep(name, start, end) for(int name = (start); name <= (end); i ++)
#define d_rep(name, start, end) for(int name = (start); name >= (end); i --)
#define dext(a) return (a)
#define xs(n) cout << fixed << setprecision(n)
#define cls system("cls");
const int P = 998244353;
const int Base = 3221225477;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e6 + 10, M = 2e6 + 10;
const int Mod = 1e9+7;
int randint(int l, int r)
{
return rand() % (r - l + 1) + l;
}
void printf_red(const char *s)
{
printf("\033[0m\033[1;31m%s\033[0m", s);
}
void printf_green(const char *s)
{
printf("\033[0m\033[1;32m%s\033[0m", s);
}
void printf_yellow(const char *s)
{
printf("\033[0m\033[1;33m%s\033[0m", s);
}
void printf_blue(const char *s)
{
printf("\033[0m\033[1;34m%s\033[0m", s);
}
void printf_pink(const char *s)
{
printf("\033[0m\033[1;35m%s\033[0m", s);
}
void printf_cyan(const char *s)
{
printf("\033[0m\033[1;36m%s\033[0m", s);
}
signed main()
{
srand(time(0));
fst;
cls;
exit(0);
}
//游戏编辑模板
#include <bits/stdc++.h>
#include <windows.h>
//#include <unistd.h>
using namespace std;
#define endl '\n'
#define TRACE 1
#define tcout TRACE && cout
#define fst ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define int long long
#define interesting long long
#define read(a) ;fst;cin >> (a)
#define out(a) fst;cout << (a) << endl;
#define huan fst;cout << endl;
#define all(a) (a).begin(),(a).end()
#define z_for_string(name, end) for(int name = 0; name < (end); i ++)
#define d_for_string(name, end) for(int name = (end); name > 0; i --)
#define z_rep(name, start, end) for(int name = (start); name <= (end); i ++)
#define d_rep(name, start, end) for(int name = (start); name >= (end); i --)
#define dext(a) return (a)
#define xs(n) cout << fixed << setprecision(n)
const int P = 998244353;
const int Base = 3221225477;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e6 + 10, M = 2e6 + 10;
const int Mod = 1e9+7;
int randint(int l, int r)
{
return rand() % (r - l + 1) + l;
}
void printf_red(const char *s)
{
printf("\033[0m\033[1;31m%s\033[0m", s);
}
void printf_green(const char *s)
{
printf("\033[0m\033[1;32m%s\033[0m", s);
}
void printf_yellow(const char *s)
{
printf("\033[0m\033[1;33m%s\033[0m", s);
}
void printf_blue(const char *s)
{
printf("\033[0m\033[1;34m%s\033[0m", s);
}
void printf_pink(const char *s)
{
printf("\033[0m\033[1;35m%s\033[0m", s);
}
void printf_cyan(const char *s)
{
printf("\033[0m\033[1;36m%s\033[0m", s);
}
signed main()
{
srand(time(0));
fst;
exit(0);
}