def isOddNumberPrime(n):
for x in range(3, n, 2):
if x * x > n: return True
if n % x == 0: return False
p4m = [x**4 for x in range(3, 100, 2) if isOddNumberPrime(x)]
ok = []
LIM = 50000000
while True:
i,x = min(enumerate(p4m), key = lambda x: x[1])
if x > LIM: break
ok.append(x)
p4m[i] *= 2
l = 45000000
r = 50000000
print(sum(1 for x in ok if l <= x <= r))
ZGVmIGlzT2RkTnVtYmVyUHJpbWUobik6CiAgZm9yIHggaW4gcmFuZ2UoMywgbiwgMik6CiAgICBpZiB4ICogeCA+IG46IHJldHVybiBUcnVlCiAgICBpZiBuICUgeCA9PSAwOiByZXR1cm4gRmFsc2UKCnA0bSA9IFt4Kio0IGZvciB4IGluIHJhbmdlKDMsIDEwMCwgMikgaWYgaXNPZGROdW1iZXJQcmltZSh4KV0Kb2sgPSBbXQpMSU0gPSA1MDAwMDAwMAoKd2hpbGUgVHJ1ZToKICBpLHggPSBtaW4oZW51bWVyYXRlKHA0bSksIGtleSA9IGxhbWJkYSB4OiB4WzFdKQogIGlmIHggPiBMSU06IGJyZWFrCiAgb2suYXBwZW5kKHgpCiAgcDRtW2ldICo9IDIKCmwgPSA0NTAwMDAwMApyID0gNTAwMDAwMDAKcHJpbnQoc3VtKDEgZm9yIHggaW4gb2sgaWYgbCA8PSB4IDw9IHIpKQ==