def primes_up_to(n): if n < 2: return [] # 0~nまでTrueで初期化(素数かどうかの判定用) sieve = [True] * (n + 1) sieve[0] = sieve[1] = False # 0と1は素数ではない for i in range(2, int(n**0.5) + 1): if sieve[i]: # iの倍数をふるい落とす(i*iからnまでの範囲で刻みi) for j in range(i * i, n + 1, i): sieve[j] = False # Trueになっているインデックスが素数 return [i for i, is_prime in enumerate(sieve) if is_prime] n = 10**5 C=primes_up_to(n) q=int(input()) for _ in range(q): a=int(input()) cnt=0 for i in C: if a==1 or a