#include #include #include #include #include // FOO_MAX, FOO_MIN #include #include // abs(int) #include #define roundup(n,d) ( ((n) + ((d)-1)) / (d) ) #define ll long long #define assign_max(into, compared) (into = max((into), (compared))) #define assign_min(into, compared) (into = min((into), (compared))) using namespace std; bool is_prime(int n){ if (n <= 1) return false; if (n == 2) return true; if (n % 2 == 0) return false; const int limit = min((int)sqrt(n)+1,n); for(int i = 3;i <= limit;i+=2){ if (n % i == 0){ return false; } } return true; } //[2,limit] vector primenumbers(int limit){ vector primes; for(int i = 2;i <= limit;i++){ if(is_prime(i)){ primes.push_back(i); } } return primes; } int main(void){ int n; cin >> n; auto primes = primenumbers(n); const int primes_n = primes.size(); vector> dp (primes_n, vector (n+1)); for(int i = 0;i < primes_n;i++){ } cout << primes.size() << endl; }