import time
n = 5000
p = []
# m1
st_time = time.time()
a = [2]
for i in range(3,n+1,2):
isP = True
for j in a:
if j*j>i: break
if i%j==0:
isP = False
break
if isP :a.append(i)
print(len(a))
end_time = time.time()
p.append( end_time-st_time)
# m2
st_time = time.time()
a = []
for i in range(1,n+1):
c = 0
for j in range(1,i+1):
if i%j==0:
c+=1
if c==2: a.append(i)
print(a)
print(len(a))
end_time = time.time()
p.append( end_time-st_time)
# m3
st_time = time.time()
a = [i for i in range(2,n+1)]
for j in range(2,int(n**0.5)+1):
a = [i for i in a if i%j!=0]
a.append(j)
a.sort()
end_time = time.time()
p.append( end_time-st_time)
# m4
st_time = time.time()
a = [2,3,5]
for i in range(6,n-3,6):
f = True
for j in a:
if (i+1)%j==0:
f = False
break
if f :
a.append(i+1)
f = True
for j in a:
if (i+5)%j==0:
f = False
break
if f :
a.append(i+5)
print(a)
print(len(a))
end_time = time.time()
p.append( end_time-st_time)
#print final
print(p)
ntimes = [int(i/min(p)) for i in p]
print(ntimes)