#include<string>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<list>
#include<deque>
#include<queue>
#include<stack>
#include<set>
#include<bitset>
#include<utility>
#include<functional>
#include<sstream>
#include<ctime>
#include<memory>
#include<climits>
#include<cctype>
#include<cstddef>
#include<iomanip>
#define si(x) scanf("%d",&x)
#define sd(x) scanf("%lf",&x)
#define sc(x) scanf("%c",&x);
#define sll(x) scanf("%lld",&x)
#define sull(x) scanf("%llu",&x)
#define debug(x) cout<<#x<<" = "<<x<<"\n"
#define Max(a,b,c) max(a,max(b,c))
#define Min(a,b,c) min(a,min(b,c))
#define PI acos(-1.0)
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long ll;
typedef unsigned long long ull;
常用头文件
https://blog.csdn.net/thisispan/article/details/7470335
https://blog.csdn.net/w_linux/article/details/70555682