Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define Fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
- #define FOR(i,l,r) for(i=l;i<=r;i++)
- #define ll long long int
- using namespace std;
- void Print(ll n) {printf("%lld\n",n);}
- const ll M=1e9+7,sz=1e7;
- int dx[]={0, 0,1,-1,1, 1,-1,-1};
- int dy[]={1,-1,0, 0,1,-1, 1,-1};
- int inner(int x,int n,int y,int m){
- return -1<x&&x<n && -1<y&&y<m;}
- ll gcd(ll a,ll b) {return !(a%b)? b:gcd(b,a%b);}
- ll lcm(ll a,ll b) {return (a*b)/gcd(a,b);}
- ll PowerMod(ll a,ll n,ll M){
- if (!n) return 1;
- ll x=PowerMod(a,n/2,M);
- x=(x*x)%M;
- return (n&1)? (x*a)%M : x;
- }
- ll LogInt(ll n,ll base){
- ll p=1,i;
- for(i=1;; i++,p*=base)
- if (p*base>n) break;
- return i-1;
- }
- ll gcdExtended(ll a, ll b, ll &x, ll &y){
- if (!a){x=0, y=1; return b;}
- ll x1, y1;
- ll gcd = gcdExtended(b%a, a, x1, y1);
- x = y1-(b/a)*x1;
- y = x1;
- return gcd;
- }
- ll modInverse(ll a) {
- ll x,y;///if a=0 not exist
- ll g = gcdExtended(a,M,x,y);
- if (g==1) return (x%M+M)%M;
- printf("%d=ModInv not exist\n",a);
- }
- bool fl[sz+5];
- vector<int> prime;
- void sieve(){
- for (int i=3; i*i<=sz; i+=2)
- if (!fl[i])
- for (int j=i+i; j<=sz; j+=i)
- fl[j]=1;
- prime.push_back(2);
- for (int i=3; i<=1e7; i+=2)
- if (!fl[i]) prime.push_back(i);
- }
- int main(){
- sieve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement