parent
f8976e1df0
commit
b02afceb6a
@ -1,7 +1,7 @@
|
|||||||
#include<bits/stdc++.h>
|
#include<bits/stdc++.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL));
|
// Short forms
|
||||||
#define int long long
|
#define int long long
|
||||||
#define ll long long
|
#define ll long long
|
||||||
#define ull unsigned long long
|
#define ull unsigned long long
|
||||||
@ -11,11 +11,32 @@ using namespace std;
|
|||||||
#define pb push_back
|
#define pb push_back
|
||||||
#define all(x) x.begin(), x.end()
|
#define all(x) x.begin(), x.end()
|
||||||
#define sz(x) (int)(x).size()
|
#define sz(x) (int)(x).size()
|
||||||
|
|
||||||
|
// Outputs
|
||||||
#define yes cout<<"YES"<<endl
|
#define yes cout<<"YES"<<endl
|
||||||
#define no cout<<"NO"<<endl
|
#define no cout<<"NO"<<endl
|
||||||
#define MOD 1000000007
|
|
||||||
ull pow(ull x, ull n) {ull ans=1; x%=MOD; while(n) {if(n&1) ans=(ans*x)%MOD; x=(x*x)%MOD; n>>=1;} return ans;}
|
|
||||||
|
|
||||||
|
// Constants
|
||||||
|
#define PI 3.141592653589793238
|
||||||
|
#define MIN INT_MIN
|
||||||
|
#define MAX INT_MAX
|
||||||
|
#define INF LONG_LONG_MAX
|
||||||
|
#define M 1000000007
|
||||||
|
#define LLM 1000000000000000007
|
||||||
|
|
||||||
|
// Faster Input Output
|
||||||
|
#define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL));
|
||||||
|
|
||||||
|
// Maths
|
||||||
|
ll fact(ll n) { if(n==0) return 1; ll res = 1; for (ll i = 2; i <= n; i++) res = res * i; return res; }
|
||||||
|
ll nPr(ll n, ll r) { return fact(n) / fact(n - r); }
|
||||||
|
ll nCr(ll n, ll r) { return fact(n) / (fact(r) * fact(n - r)); }
|
||||||
|
ll gcd(ll a, ll b) { if (b == 0) return a; return gcd(b, a % b); }
|
||||||
|
ll lcm(ll a, ll b) { return (a * b) / gcd(a, b);}
|
||||||
|
ull mypow(ull a, ull b) { ull ans = 1; a%=M; while(b){ if (b&1) ans = (ans*a) % M; a = (a*a) % M; b >>= 1; } return ans; }
|
||||||
|
bool isPrime(ll n) { if(n <= 1) return false; for(ll i = 2; i <= sqrt(n); i++) if(n % i == 0) return false; return true; }
|
||||||
|
|
||||||
|
//Debugging
|
||||||
#ifndef ONLINE_JUDGE
|
#ifndef ONLINE_JUDGE
|
||||||
#define dbg(x) cerr << #x <<" "; _print(x); cerr << endl;
|
#define dbg(x) cerr << #x <<" "; _print(x); cerr << endl;
|
||||||
#define dbgin(x) cerr << #x <<" "; _print(x); cerr << ";"<<endl;
|
#define dbgin(x) cerr << #x <<" "; _print(x); cerr << ";"<<endl;
|
||||||
@ -23,6 +44,7 @@ ull pow(ull x, ull n) {ull ans=1; x%=MOD; while(n) {if(n&1) ans=(ans*x)%MO
|
|||||||
#define dbg(x)
|
#define dbg(x)
|
||||||
#define dbgin(x)
|
#define dbgin(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void _print(int t) {cerr << t;}void _print(string t) {cerr << t;}void _print(char t) {cerr << t;}
|
void _print(int t) {cerr << t;}void _print(string t) {cerr << t;}void _print(char t) {cerr << t;}
|
||||||
void _print(long double t) {cerr << t;}void _print(double t) {cerr << t;}void _print(unsigned ll t) {cerr << t;}
|
void _print(long double t) {cerr << t;}void _print(double t) {cerr << t;}void _print(unsigned ll t) {cerr << t;}
|
||||||
template <class T, class V> void _print(pair <T, V> p);
|
template <class T, class V> void _print(pair <T, V> p);
|
||||||
@ -36,6 +58,7 @@ template <class T> void _print(unordered_set <T> v) {cerr<<"[ "; for(T i : v) {_
|
|||||||
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
||||||
template <class T, class V> void _print(multimap <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
template <class T, class V> void _print(multimap <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
||||||
template <class T, class V> void _print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
template <class T, class V> void _print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void solve()
|
void solve()
|
||||||
@ -48,6 +71,5 @@ int32_t main()
|
|||||||
FAST_IO;
|
FAST_IO;
|
||||||
int TC = 1;
|
int TC = 1;
|
||||||
//cin >> TC;
|
//cin >> TC;
|
||||||
while (TC--)
|
while (TC--) solve();
|
||||||
solve();
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user