def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
a = int(input())
lst = list(map(int, input().split()))[:a]
m = int(input())
ans = []
for _ in range(m):
l, r = map(int, input().split())
count = 0
for i in lst[l : r + 1]:
temp = i
if is_prime(temp // 10) and is_prime(temp // 100):
for j in range(1, 10):
if is_prime(i * 10 + j):
count += 1
break
else:
pass
ans.append(count)
for i in ans:
print(i)
ZGVmIGlzX3ByaW1lKG4pOgogICAgaWYgbiA8PSAxOgogICAgICAgIHJldHVybiBGYWxzZQogICAgZm9yIGkgaW4gcmFuZ2UoMiwgaW50KG4qKjAuNSkgKyAxKToKICAgICAgICBpZiBuICUgaSA9PSAwOgogICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgIHJldHVybiBUcnVlCgphID0gaW50KGlucHV0KCkpCmxzdCA9IGxpc3QobWFwKGludCwgaW5wdXQoKS5zcGxpdCgpKSlbOmFdCm0gPSBpbnQoaW5wdXQoKSkKYW5zID0gW10KCmZvciBfIGluIHJhbmdlKG0pOgogICAgbCwgciA9IG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkKICAgIGNvdW50ID0gMAogICAgZm9yIGkgaW4gbHN0W2wgOiByICsgMV06CiAgICAgICAgdGVtcCA9IGkKICAgICAgICBpZiBpc19wcmltZSh0ZW1wIC8vIDEwKSBhbmQgaXNfcHJpbWUodGVtcCAvLyAxMDApOgogICAgICAgICAgICBmb3IgaiBpbiByYW5nZSgxLCAxMCk6CiAgICAgICAgICAgICAgICBpZiBpc19wcmltZShpICogMTAgKyBqKToKICAgICAgICAgICAgICAgICAgICBjb3VudCArPSAxCiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBlbHNlOgogICAgICAgICAgICBwYXNzCiAgICBhbnMuYXBwZW5kKGNvdW50KQoKZm9yIGkgaW4gYW5zOgogICAgcHJpbnQoaSkK