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-----
105

-----Sample Output-----
1

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

Difficulty: introductory

Starter code:

Solutions:
N = int(input())

if N >= 105:
    if N >= 135:
        if N >= 165:
            if N >= 189:
                if N >= 195:
                    print((5))
                else:
                    print((4))
            else:
                print((3))
        else:
            print((2))
    else:
        print((1))
else:
    print((0))



p = int(input())
ans = 0

def solve(p):
    cnt = 0
    for i in range(1, p+1):
        if p % i == 0:
            cnt += 1
    if cnt == 8 and p % 2 == 1:
        return True
    return False
    
for i in range(1, p+1):
        if solve(i) == True:
            ans += 1
            
print(ans)

# import sympy

def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

n = int(input())
count = 0
for i in range(1, n+1):
    if i % 2 == 1:
        # if len(sympy.divisors(i)) == 8:
        if len(make_divisors(i)) == 8:
            count += 1
print(count)



N = int(input())
ans = 0
for n in range(1,N+1,2):
    cnt = 0
    for m in range(1, N+1):
        if n%m == 0:
            cnt += 1
    if cnt == 8:
        ans += 1
print(ans)


n=int(input())
ans=0
for i in range(n+1):
    if(i%2!=0):
        count=0
        for j in range(1,i+1):
            if(i%j==0):
                count+=1
        if(count==8):
            ans+=1
print(ans)


N = int(input())
res = 0
for n in range(1, N+1, 2):
    cnt = 0
    for i in range(1, n+1):
        if n % i == 0:
            cnt += 1
    if cnt == 8:
        res += 1
print(res)

n=int(input())
ans = 0
score=[]
for i in range(1, n+1, 2):
  li=[]
  for j in range(1, n+1):
    if i%j==0:
      li.append(j)
  if (len(li))== 8:
    score.append(i)
long=len(score)
print(long)

N = int(input())

cnt = [0] * (N + 1)

for i in range(1, N + 1):
    j = i
    while j <= N:
        cnt[j] += 1
        j += i

res = 0

for i in range(1, N + 1):
    if i & 1 and cnt[i] == 8:
        res += 1

print(res)

N = int(input())
ans = 0

for n in range(1,N+1):
    if n % 2 :
        cnt = 0
        for m in range(1,n+1):
            if n % m == 0:
                cnt += 1
        if cnt == 8:
            ans += 1

print(ans)

N = int(input())

yakusuu8_cnt = 0
for i in range(1, N + 1):
    if i % 2 == 1:
        yakusuu_cnt = 0
        for j in range(1, i + 1):
            if i % j == 0:
                yakusuu_cnt += 1
            if yakusuu_cnt == 8:
                yakusuu8_cnt += 1

print(yakusuu8_cnt)

n = int(input())
ans = 0

for x in range(1, n+1, 2):
    i = 1
    count = 0
    while i*i <= x:
        if x % i == 0:
            count += 1
            if i != x//i:
                count += 1
        i += 1

    if count == 8:
        ans += 1

print(ans)

N=int(input())
ans=0
for i in range(1,N+1,2):
  cnt=2
  for j in range(3,int(i**0.5)+1,2):
    if i%j==0:
      cnt+=2
  if cnt==8:
    ans+=1
print(ans)

N = int(input())

ans = 0
for i in range(1, N + 1):
    if i % 2 != 0:
        divisor = 0
        for j in range(1, N + 1):
            if i % j == 0:
                divisor += 1
        if divisor == 8:
            ans += 1
print(ans)

n = int(input())
ans = 0
for i in range(1, n+1, 2):
    count = 0
    for j in range(1, i+1, 2):
        if i % j == 0:
            count += 1
    if count == 8:
        ans += 1
print(ans)


def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)

    divisors.sort()
    return divisors


n = int(input())
l = [i for i in range(n+1)]
ls = l[1::2]
ans = 0
for i in ls:
    if len(make_divisors(i))==8:
        ans+=1
print(ans)

N=int(input())
l=0
for i in range(3,N+1,2):
  j=1
  k=0
  while j*j<i:
    if i%j==0:
      k+=2
    j+=2
  if j*j==i:
    k+=1
  if k==8:
    l+=1
print(l)


n = int(input())
t = 0
for i in range(1, n+1):
  if i % 2 == 1:
    s = 1
    for j in range(1, i//2 + 1):
      if i % j == 0:
        s += 1
    if s == 8:
      t += 1
print(t)

N = int(input())

nums = list(n for n in range(1, N + 1) if n % 2 == 1)
len_nums = len(nums)

divisors = []
for i in range(len_nums):
    n = 1
    divisor = 0
    while n <= N:
        if nums[i] % n == 0:
            divisor += 1
        n += 1
    divisors.append(divisor)

print(divisors.count(8))

import sys

def div(n):
    count = 0
    for i in range(1, n+1):
        count += 1 if n%i==0 else 0
    return count

ans = 0
for i in range(1, int(input())+1):
    ans += 1 if i%2==1 and div(i) == 8 else 0
print(ans)

n=int(input())

a=0

for i in range(1,n+1,2):
  c=0
  for j in range(1,i+1):
    if i%j==0:
      c+=1
  if c==8:
    a+=1

print(a)

n = int(input())
if n<105:
  print(0)
elif n<135:
  print(1)
elif n<165:
  print(2)
elif n<189:
  print(3)
elif n<195:
  print(4)
else:
  print(5)

n = int(input())
ans = 0
for i in range(1,n+1,2):
    cnt = 0
    for j in range(1,i+1):
        if(i%j==0):
            cnt+=1
    if(cnt==8):
        #print(i)
        ans+=1
print(ans)

N=int(input())

cnt=[]    
def divisor(n):
	i = 1
	table = []
	while i * i <= n:
		if n%i == 0:
			table.append(i)
			table.append(n//i)
		i += 1
	table = list(set(table))
	if len(table)==8:
		cnt.append(1)

for i in range(1,N+1):
	if i%2!=0:
		divisor(i)

print(len(cnt))

n= int(input())
ans=0
for i in range(1,n+1,2):
    cnt=0
    for j in range(1,i+1):
        if i%j==0:
            cnt+=1
    if cnt==8:
        ans+=1
print(ans)


# -*- coding: utf-8 -*-
N = int(input())

ans = 0
for i in range(1,N+1):
    if i % 2 != 0:
        count = 0
        for j in range(1, i+1):
            if i % j == 0:
                count += 1
        if count == 8:
            ans += 1

print(ans)


N = int(input())

answer = 0
for i in range(1, N + 1, 2):
    c = 0
    for j in range(1, i + 1):
        if i % j == 0:
            c += 1
    if c == 8:
        answer += 1

print(answer)

n = int(input())
a = 0
for i in range(1,n+1,2):
  c = 0
  for j in range(1,n+1):
    if i%j == 0:
      c += 1
  if c == 8:
    a +=1
print(a)

n = int(input())
cnt = 0
for i in range(1, n+1):
    if i % 2 == 0:
        continue
    tmp = 0
    for j in range(1, n+1):
        if i % j == 0:
            tmp += 1
    if tmp == 8:
        cnt += 1
print(cnt)



# 素因数分解
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr

factorization(25)

N = int(input())
N_list = [i for i in range(1, N+1) if i%2 == 1]
count = 0
for n in N_list:
    factor_list = factorization(n)
    num_divisor = 1
    for factor in factor_list:
        num_divisor *= (factor[1]+1)
    if num_divisor == 8:
        count += 1
print(count)


import math
from collections import Counter
from itertools import product

ii = lambda : int(input())
mi = lambda : list(map(int,input().split()))
li = lambda : list(map(int,input().split()))

def make_divisors(n):
    lower_div , upper_div = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_div.append(i)
            if i != n // i:
                upper_div.append(n//i)
        i += 1
    return lower_div + upper_div[::-1]


n = ii()
cnt = 0
for i in range(1,n+1,2):
    if len(make_divisors(i)) == 8:
        cnt+=1
print(cnt)


# 105の約数は1, 3, 5, 7, 3 * 5, 3 * 7, 5 * 7, 3 * 5 * 7
# ほかにありえるのは
# ①1, 3, 5, 9, ...
# ②1, 3, 5, 11, ...
# ③1, 3, 7, 9, ...
# ④1, 3, 5, 13, ...
n = int(input())
if n < 105: print(0)
elif n < 135: print(1)
elif n < 165: print(2)
elif n < 189: print(3)
elif n < 195: print(4)
else: print(5)

import sys
input = lambda: sys.stdin.readline().rstrip()
N = int(input())
ans = 0
for i in range(1, N+1, 2):
    yaku = 0
    for j in range(1, i+1):
        if i%j==0:
            yaku += 1
    if yaku == 8:
        ans += 1
print(ans)


n = int(input())
cnt = 0
ans = 0
for i in range(1,n+1):
    if i % 2 == 1:
        for j in range(1, i+1):
            if i % j == 0:
                cnt += 1
        if cnt == 8:
            ans += 1
        cnt = 0
print(ans)

def make_divisors(n: int) -> list:
    return_list = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            return_list.append(i)
            if i != n // i:
                return_list.append(n//i)

    return return_list
N = int(input())
cnt = 0
for i in range(1,N+1,2):
    if len(make_divisors(i)) == 8:
        cnt += 1
print(cnt)

import sys
input = lambda: sys.stdin.readline().rstrip()
N = int(input())
ans = 0
for n in range(1, N+1, 2):
    yaku = 0
    for i in range(1, n+1):
        if n%i==0:
            yaku += 1
    if yaku == 8:
        ans += 1
print(ans)


n = int(input())
ans = 0
for i in range(1,n+1,2):
  cnt = 0
  for j in range(1,i+1):
    if i % j == 0:
      cnt += 1
    if cnt == 8:
      ans += 1
print(ans)

n = int(input())

if n < 17:
  print(0)
  return

ans = 0
for i in range(1,n+1,2):
  t = 0
  for j in range(1,i+1,2):
    if i%j == 0: t += 1
  if t == 8: ans += 1
print(ans)

N = int(input())
ans = 0

for i in range(1,N+1,2):
  count = 1
  for j in range(1,int(i/3+1)):
    if i%j == 0:
      count +=1
  if count == 8:
    ans += 1
    #print(i)
print(ans)


n = int(input())
ans = []

for i in range(n+1):
    cnt = 0
    if i % 2:
        for j in range(1, i+1):
            if i % j == 0:
                cnt += 1
        if cnt == 8:
            ans.append(i)

print((len(ans)))


alist=[105,135,165,189,195]
ans=0
n=int(input())
for i in alist:
  if n>=i:
    ans+=1
print(ans)

n = int(input())
ans = 0
for i in range(1, n+1):
    if i % 2 == 0:
        continue
    cnt = 0
    for j in range(1, n+1):
        if i % j == 0:
            cnt += 1
    if cnt == 8:
        ans += 1
print(ans)

def number_of_divisors(x: int) -> int:
    count = 0
    for i in range(1, x + 1):
        if x % i == 0:
            count += 1

    return count


def answer(n: int) -> int:
    if n < 105:
        return 0

    count = 0
    for i in range(105, n + 1, 2):
        if number_of_divisors(i) == 8:
            count += 1

    return count


def main():
    n = int(input())
    print((answer(n)))


def __starting_point():
    main()

__starting_point()

N=int(input())
ans=0
for i in range(1,N+1):
    if i%2==0:
        continue
    num=0
    for j in range(1,i+1):
        if i%j==0:
            num+=1
    if num==8:
        ans+=1
print(ans)


n = int(input())
L = [0]*200
for i in range(1,n+1,2):
  tmp = 1
  cnt = 0
  while tmp <= i:
    if i % tmp == 0:
      cnt += 1
    tmp += 1
    L[i] = cnt
print(L.count(8))

in_num = int(input())
check_num = 1
ans_counter = 0



while check_num <= in_num:
	i = 1
	div_counter = 0
	while i <= check_num :
		if check_num % i == 0:
			div_counter += 1
		i += 2
	if div_counter == 8:
		ans_counter += 1
	check_num += 2

print(ans_counter)






n = int(input())

ans = 0
for i in range(1, n + 1):
    if i % 2 == 1:
        cnt = 0
        for j in range(1, i + 1):
            if i % j == 0:
                cnt += 1
        if cnt == 8:
            ans += 1

print(ans)

n=int(input())

ans = 0
for i in range(1,n+1):
  if i % 2 == 0:
    continue
  dcnt = 0
  for j in range(1,i+1):
    if i % j == 0:
      dcnt += 1
  if dcnt == 8:
    ans+=1
print(ans)

def count_devisor(n):
  i = 1
  count = 0
  while i*i <= n:
    if n%i == 0:
      count += 2
    i += 1
  return count

n = int(input())
ans = 0

for i in range(1,n+1,2):
  if count_devisor(i) == 8:
    ans += 1
print(ans)

n=int(input())
maxn=int(n**(1/3))
count=0
for i in range(1,n+1,2):
    tmp=0
    for j in range(1,i+1):
        if i%j==0:
            tmp+=1
    if tmp==8:
        count+=1
print(count)

#!/usr/bin/env python3

def II(): return int(input())
def MII(): return list(map(int, input().split()))
def LII(): return list(map(int, input().split()))

def main():
    N = II()

    ans = 0
    for i in range(1, N+1, 2):
        cnt = 0
        for j in range(1, i+1):
            if i % j == 0:
                cnt += 1
        if cnt == 8:
            ans += 1

    print(ans)


def __starting_point():
    main()

__starting_point()

N = int(input())
ans = 0
for i in range(3,N+1,2):
    num = i
    count = 1
    #yaku = []
    for j in range(1,N//2 +1):
            if num % j == 0:
                count += 1
                #yaku.append(j)
    if count == 8:
        ans += 1
        #print(i,yaku)
print(ans)

N = int(input())
if N < 105:
  print(0)
elif N < 135:
  print(1)
elif N < 165:
  print(2)
elif N < 189:
  print(3)
elif N < 195:
  print(4)
else:
  print(5)

n = int(input())
count = 0
for i in range(1,n+1,2):
  ans = 0
  for j in range(1,n+1):
    if i % j == 0:
      ans += 1
  if ans == 8:
    count += 1
print(count)

def countDivisor(x):
    count = 0
    for i in range(1,x+1):
        if x % i == 0:
            count += 1
    return count

N = int(input())
ans = 0

for i in range(1, N+1, 2):
        if countDivisor(i) == 8:
            ans += 1
print(ans)

N=int(input())
ans=0
for i in range(1, N+1, 2):
    count=0
    for j in range(1,i+1):
        if i%j == 0: count+=1
    if count == 8: ans+=1
print(ans)

import sys
input = sys.stdin.readline

def slove():
    N = int(input())
    answer = 0
    for x in range(1,N+1,2):
        count = 0
        for i in range(1,x+1):
            if x % i == 0:
                count += 1
        if count == 8:
            answer += 1
    print(answer)

def __starting_point():
    slove()
__starting_point()

n = int(input())

ans = 0
i = 1
while i <=n:
    j = 1
    cnt = 0
    while j <= i:
        if i%j == 0:
            cnt +=1
            #print(i,cnt,j)
        j +=1
    if cnt == 8 and i%2 ==1:
        #print(i)
        ans += 1
    i +=1
print(ans)

def makedivisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n//i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

n = int(input())
ans = 0
for i in range(1,n+1):
    if len(makedivisors(i)) == 8 and i % 2 == 1:
        ans += 1
print(ans)

# input
N = int(input())

# calculate
cnt = 0
for i in range(1, N+1, 2):
  divisor = 0
  # count divisors
  for j in range(1, i+1):
    if i%j == 0:
      divisor += 1
  # check number of divisors
  if divisor == 8:
    cnt += 1

# output
print(cnt)

n = int(input())

mylists = []
for i in range(1, n + 1):
    cnt = 0
    for j in range(1, n + 1):
        if i < j or i % 2 == 0:
            break
        if i % j == 0:
            cnt += 1
        if cnt == 8:
            mylists.append(i)
        if cnt >= 9:
            mylists.pop()
            break

print(len(mylists))

n = int(input())

ans =  0 
for i in range(1,n+1,2):
  t = 0
  if i <= 17: continue
  for j in range(1,n+1,2):
    if i%j == 0: t += 1
  if t == 8: ans += 1
print(ans)

N = int(input())

if N < 105:
  print(0)
elif N < 135:
  print(1)
elif N < 165:
  print(2)
elif N < 189:
  print(3)
elif N < 195:
  print(4)
else:
  print(5)

3
#coding: utf-8

N = int(input())

def num_div(n):
    ret = 0
    for i in range(1, n+1):
        if n % i == 0:
            ret+=1
    return ret

r = 0
for i in range(1, N+1, 2):
    if num_div(i) == 8:
        r += 1

print(r)

def divisor(n):
    i = 1
    table = []
    while i * i <= n:
        if n % i == 0:
            table.append(i)
            table.append(n//i)
        i += 1
    table = list(set(table))
    return table


num = []
n = int(input())

for i in range(1, n+1):
    if i % 2 != 0:
        if len(divisor(i)) == 8:
            num.append(i)
print((len(num)))


def divisor(n):
    i = 1
    table = []
    while i * i <= n:
        if n % i == 0:
            table.append(i)
            table.append(n//i)
        i += 1
    table = list(set(table))
    return table
 
 
num = []
n = int(input())
 
for i in range(1, n+1):
    if i % 2 != 0:
        if len(divisor(i)) == 8:
            num.append(i)
print(len(num))

def main():
    n = int(input())
    odds = [i for i in range(1, n+1) if i % 2 != 0]
    ans = 0
    for i in odds:
        count = 0
        for j in range(1, i + 1):
            if i % j == 0:
                count += 1
        if count == 8:
            ans += 1
    print(ans)


main()

N = int(input())

ans = 0

for n in range(1, N+1, 2):
    c = 0
    for i in range(1, n+1):
        if n % i == 0:
            c += 1

    if c == 8:
        ans += 1

print(ans)

def make_divisors(n):
    divisors=[]
    for i in range(1,int(n**0.5)+1):
        if n%i==0:
            divisors.append(i)
            if i!=n//i:
                divisors.append(n//i)
    return divisors

N = int(input())
count = 0
for i in range(1,N+1,2):
    if len(make_divisors(i)) == 8:
        count += 1

print(count)


def divisor(n):
    cnt = 0
    for i in range(1, int(n**0.5)+1):
        if n%i == 0:
            cnt += 1
    return cnt*2


n = int(input())
ans = 0
for i in range(1, n+1):
    if i%2 != 0 and divisor(i) == 8:
        ans += 1
print(ans)


N = int(input())

counter = 0

for i in range(105, N+1, 2):
    div_counter=0
    j = 1
    while j <= i:
        if (i%j) == 0:
            div_counter+=1
        j += 1

    if div_counter==8:
        counter+=1


print(counter)

def I(): return int(input())
N = I()
ans = 0
if N>=105:
    for i in range(105,N+1,2):
        count_yakusuu = 0
        for j in range(1,int(i**0.5)+1):
            if i%j==0:
                count_yakusuu += 2
        if count_yakusuu==8:
            ans += 1
print(ans)

n = int(input())

ans = 0

for i in range(1, n + 1):
    x = 0
    if i % 2 == 1:
        for j in range(1, i + 1):
            if i % j == 0:
                x += 1
    if x == 8:
        ans += 1

print(ans)


N = int(input())

ans = 0
for i in range(1, N + 1, 2):
    cnt = 0
    for j in range(1, i + 1, 2):
        if i % j == 0:
            cnt += 1

    if cnt == 8:
        ans += 1

print(ans)

n = int(input())
def cal(a):
  cn = 0
  for i in range(1,a+1):
    if a%i==0: cn+=1
  return cn == 8
ans = 0
for i in range(1,n+1):
  if  (i%2==1) :ans += cal(i) 
print(ans)


n = int(input())
if n < 105:
  print(0)
elif n < 135:
  print(1)
elif n < 165:
  print(2)
elif n < 189:
  print(3)
elif n < 195:
  print(4)
else:
  print(5)

import math

def primefac(n):
    s = []
    x = int(math.sqrt(n))+1
    for i in range(2,x+1):
        if n%i == 0:
            cnt= 0
            while n%i == 0:
                n //=i
                cnt += 1
            s.append([i,cnt])
    if n != 1:
        s.append([n,1])
    return(s)
  
n = int(input())
ans = 0
for i in range(1,n+1):
    x = 1
    s = primefac(i)
    for t in s:
        x *= t[1]+1
    if x == 8 and i%2 == 1:
        ans += 1
print(ans)
    


n = int(input())
ans = 0
for i in range(1,n+1,2):
  div = 0
  for j in range(1,i+1):
    if i % j == 0:
      div += 1
  if div == 8:
    ans += 1
print(ans)

N = int(input())
ans = 0
for n in range(1, N+1, 2):
  yaku = 0
  for i in range(1, n+1):
    if n%i == 0:
      yaku += 1
  if yaku == 8:
    ans += 1
print(ans)

N = int(input())
A = 0
for i in range(1, N+1, 2):
    cnt = 0
    for j in range(1, i+1):
        if i%j == 0:
            cnt += 1
    if cnt == 8:
        A += 1
print(A)

n = int(input())
ans = 0
L = [0]*200
for i in range(1,n+1,2):
  tmp = 1
  cnt = 0
  while tmp <= i:
    if i % tmp == 0:
      cnt += 1
    tmp += 1
    L[i] = cnt
print(L.count(8))

n = int(input())
 
def check(p):
  c = 0
  for i in range(1,p+1):
    if p % i == 0:
      c += 1
  return c
 
ans = 0
for i in range(1,n+1):
  if i % 2 == 1:
    if check(i) == 8:
      ans += 1
      
print(ans)

import sys

input = sys.stdin.readline


def make_divisors(n):
    divisors = []
    for i in range(1, int(n ** 0.5) + 1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n // i)

    # divisors.sort()
    return divisors


def main():
    N = int(input())

    ans = 0

    for i in range(1, N + 1):
        if i % 2 == 0:
            continue
        if len(make_divisors(i)) == 8:
            ans += 1

    print(ans)



def __starting_point():
    main()

__starting_point()

from math import *

N = int(input())

def count(n):
   rt = sqrt(n)
   result = 0
   if int(rt) ** 2 == n:
      for i in range(1, int(rt) + 1):
         if n % i == 0:
            result += 1
      result = (2 * result) - 1
   else:
      for i in range(1, int(rt) + 1):
         if n % i == 0:
            result += 1
      result *= 2
   return result

ans = 0

for i in range(1, N + 1):
   if (i % 2 == 1) and (count(i) == 8):
      ans += 1

print(ans)

N = int(input())
ans = 0

for i in range(1,N+1):
    if i % 2 == 1:
        num = 0
        for i2 in range(1,i+1):
            if i % i2 == 0:
                num += 1
        if num == 8:
            ans += 1
print(ans)

n=input()
n=int(n)
s=0
for i in range(1,n+1):
    p=0
    if i%2==0:
        continue
    for j in range(1,i+1):
        if i%j==0:
            p+=1
    if p==8:
        s+=1
print(s)

n = int(input())
ans = 0
for i in range(1, n+1, 2):
    num = 0
    for j in range(1, i+1):
        if i % j == 0:
            num += 1
    if num == 8:
        ans += 1

print(ans)


N = int(input())
ans = 0
for i in range(1, N+1):
    if i % 2 ==1:
        cnt = 0
        for j in range(1, i+1):
            if i % j == 0:
                cnt += 1
        if cnt == 8:
            ans += 1
print(ans)

N = int(input())

ans = 0
for i in range(1,N+1,2):
    cnt = 0
    for j in range(1,i+1):
        if i % j == 0:
            cnt += 1
    if cnt == 8:
        ans += 1
print(ans)

n = int(input())
count = 0
for i in range(2, n+1):
  pre = i
  dic = {}
  while i % 2 == 0:
    if 2 not in dic:
      dic[2] = 2
    else:
      dic[2] += 1
    i //= 2
  f = 3
  while pow(f, 2) <= i:
    while i % f == 0:
      if f not in dic:
        dic[f] = 2
      else:
        dic[f] += 1
      i //= f
    f += 2
  if i != 1:
    dic[i] = 2
  num = 1
  for i in dic.values():
    num *= i
  if num == 8 and pre % 2 == 1:
    count += 1
print(count)

N=int(input())
cnt=0
Ans=0

for i in range(1,N+1):
  for j in range(1,N+1):
    if i%j==0 and i%2==1:
      cnt+=1
  if cnt==8:
#    print(i)
    Ans+=1
  cnt=0
  
print(Ans)

n = int(input())

cnt = 0
for i in range(1, n+1, 2):
    factors = 1
    for j in range(1, i//2+1):
        if i % j == 0:
            factors += 1
    if factors == 8:
        cnt += 1
print(cnt)

n = int(input())

ans = 0

for i in range(1,n+1,2):
    con =0
    for j in range(1,i+1):
        if i % j == 0:
            con += 1
        if con == 8:
            ans += 1

print(ans)

n = int(input())
ans = 0
for i in range(1, n+1, 2):
    cnt = 0
    for j in range(1, i+1):
        if i%j==0:  cnt += 1
    if cnt == 8:  ans += 1

print(ans)


n = int(input())
ans = []

for i in range(1,n+1):
    count = 0
    for j in range(1,i+1):
        if i % j == 0 and i % 2 == 1:
            count += 1
        if count == 8:
            ans.append(i)

print(len(ans))

n=int(input())
score=[]
for s in range(1,n+1,2):
  count=0
  for t in range(1,s+1):
    if (s%t==0):
      count+=1
  score.append(count)
cnt=0
for i in score:
  if (i==8):
    cnt+=1
print(cnt)

def make_divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]
ans = 0
n = int(input())
for i in range(1,n+1):
    if i%2 == 0:
        continue
    q = make_divisors(i)
    if len(q) == 8:
        ans += 1
print(ans)

N = int(input())

def make_divisor(n):
    divisors = []
    for i in range(1, int(n**.5) + 1):
        if n%i == 0:
            divisors.append(i)
            if i != n//i:
                divisors.append(n//i)
    divisors.sort()
    return divisors
cnt = 0
for i in range(1, N+1):
    if len(make_divisor(i)) == 8 and  i%2 == 1:
        cnt += 1
print(cnt)




a=int(input())
if a<105:
  print(0)
if 105<=a<135:
  print(1)
if 135<=a<165:
  print(2)
if 165<=a<189:
  print(3)
if 189<=a<195:
  print(4)
if 195<=a:
  print(5)

n = int(input())
if 195 <= n:
    print(5)
elif 189 <= n:
    print(4)
elif 165 <= n:
    print(3)
elif 135 <= n:
    print(2)
elif 105 <= n:
    print(1)
else:
    print(0)

n=int(input())

divisor_list=[]

for i in range(1, n+1):
    if i%2!=0:
        count=0
        for j in range(1,i+1):
            if i%j==0:
                count+=1
        divisor_list.append(count)
        
print(divisor_list.count(8))