由于模板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);
}