Problem:
Score: 200 points

Problem Statement

The number 105 is quite special - it is odd but still it has eight divisors.
Now, your task is this: how many odd numbers with exactly eight positive divisors are there between 1 and N (inclusive)?

Constraints

N is an integer between 1 and 200 (inclusive).

Input

Input is given from Standard Input in the following format:

N

Output

Print the count.

Sample Input 1

105

Sample Output 1

1

Among the numbers between 1 and 105, the only number that is odd and has exactly eight divisors is 105.

Sample Input 2

7

Sample Output 2

0

1 has one divisor. 3, 5 and 7 are all prime and have two divisors. Thus, there is no number that satisfies the condition.

Solution in C++ (GCC 9.2.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define All(a) (a).begin(),(a).end()


vector<ll> prime_factorization(ll x){
  vector<ll> v;
  ll i;
  for (i=2; i<x; i++){
    if(x%i==0){
      v.push_back(i);
      while(x%i==0)x/=i;
    }
  }
  if(x!=1)v.push_back(x);
  return v;
}


int main(){ 
  int n,cnt=0,cnt_2=0;
  set<ll> s;
  cin >> n;
  int tmp=105;
  while(tmp<=n){
    for(int i=1; i <= tmp; i++){        
      if(tmp%i==0)cnt++;
      //code
    }
    if(cnt==8)cnt_2++;
    tmp+=2;
  }
  cout << cnt_2<<endl;
  return 0;
}