#include <iostream>
#include "bits/stdc++.h"
#define ll long long
using namespace std;
// Get divisors of n O(sqrt(n))
vector< ll> d;
void divisors( ll n)
{
for ( ll i= 1 ; i* i<= n; i++ )
{
if ( n% i== 0 )
{
d.push_back ( i) ;
if ( i! = ( n/ i) ) // Complement , ex: 2,2 false for n=4
{
d.push_back ( n/ i) ;
}
}
}
}
//Checks if number is prime O(sqrt(n))
bool isPrime( ll a)
{
for ( ll i= 2 ; i* i<= a; i++ )
{
if ( a% i== 0 )
{
return false ;
}
}
return true ;
}
// Sieve algorithm O(n*log(log(n)))
bool prime[ N] ;
void Sieve( ll n)
{
memset ( prime,true ,sizeof ( prime) ) ;
for ( ll p= 2 ; p* p<= n; p++ )
{
if ( prime[ p] )
{
for ( ll i= p* p; i<= n; i+ = p)
{
prime[ i] = false ;
}
}
}
}
// SPF algorithm O(n*log(log(n)))
ll spf[ N] ;
void SPF( )
{
for ( int i= 1 ; i< N; i++ )
{
spf[ i] = i;
}
for ( int i= 2 ; i* i< N; i++ )
{
if ( spf[ i] == i)
{
for ( int k= i* i; k< N; k+ = i)
{
if ( spf[ k] == k)
{
spf[ k] = i;
}
}
}
}
}
int main( )
{
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKI2RlZmluZSBsbCBsb25nIGxvbmcKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBHZXQgZGl2aXNvcnMgb2YgbiBPKHNxcnQobikpCnZlY3RvcjxsbD5kOwp2b2lkIGRpdmlzb3JzKGxsIG4pCnsKICAgIGZvcihsbCBpPTE7IGkqaTw9bjsgaSsrKQogICAgewogICAgICAgIGlmKG4laT09MCkKICAgICAgICB7CiAgICAgICAgICAgZC5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgaWYoaSE9KG4vaSkpIC8vIENvbXBsZW1lbnQgLCBleDogMiwyIGZhbHNlIGZvciBuPTQKICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGQucHVzaF9iYWNrKG4vaSk7CiAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLy9DaGVja3MgaWYgbnVtYmVyIGlzIHByaW1lIE8oc3FydChuKSkKYm9vbCBpc1ByaW1lKGxsIGEpCnsKICAgIGZvcihsbCBpPTI7IGkqaTw9YTsgaSsrKQogICAgewogICAgICAgIGlmKGElaT09MCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKLy8gU2lldmUgYWxnb3JpdGhtIE8obipsb2cobG9nKG4pKSkKYm9vbCBwcmltZVtOXTsKdm9pZCBTaWV2ZShsbCBuKQp7CiAgICBtZW1zZXQocHJpbWUsdHJ1ZSxzaXplb2YocHJpbWUpKTsKICAgIGZvcihsbCBwPTI7IHAqcDw9bjsgcCsrKQogICAgewogICAgICAgIGlmKHByaW1lW3BdKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGxsIGk9cCpwOyBpPD1uOyBpKz1wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmltZVtpXT1mYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKLy8gU1BGIGFsZ29yaXRobSBPKG4qbG9nKGxvZyhuKSkpCmxsIHNwZltOXTsKdm9pZCBTUEYoKQp7CiAgICBmb3IoaW50IGk9MTsgaTxOOyBpKyspCiAgICB7CiAgICAgICAgc3BmW2ldPWk7CiAgICB9CiAgICBmb3IoaW50IGk9MjsgaSppPE47IGkrKykKICAgIHsKICAgICAgICBpZihzcGZbaV09PWkpCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGs9aSppOyBrPE47IGsrPWkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHNwZltrXT09aykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzcGZba109aTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKCmludCBtYWluKCkKewoKfQo=
compilation info
prog.cpp:38:12: error: ‘N’ was not declared in this scope
bool prime[N];
^
prog.cpp: In function ‘void Sieve(long long int)’:
prog.cpp:41:12: error: ‘prime’ was not declared in this scope
memset(prime,true,sizeof(prime));
^~~~~
prog.cpp:41:12: note: suggested alternative: ‘stime’
memset(prime,true,sizeof(prime));
^~~~~
stime
prog.cpp: At global scope:
prog.cpp:55:8: error: ‘N’ was not declared in this scope
ll spf[N];
^
prog.cpp: In function ‘void SPF()’:
prog.cpp:58:20: error: ‘N’ was not declared in this scope
for(int i=1; i<N; i++)
^
prog.cpp:60:9: error: ‘spf’ was not declared in this scope
spf[i]=i;
^~~
prog.cpp:62:22: error: ‘N’ was not declared in this scope
for(int i=2; i*i<N; i++)
^
prog.cpp:64:12: error: ‘spf’ was not declared in this scope
if(spf[i]==i)
^~~
stdout