def sieve(n): is_prime = [True] * (n + 1) is_prime[0] = is_prime[1] = False for i in range(2, int(n**0.5) + 1): if is_prime[i]: for j in range(i * i, n + 1, i): is_prime[j] = False primes = [i for i, prime in enumerate(is_prime) if prime] return primes def main(): import sys input = sys.stdin.read data = input().split() T = int(data[0]) index = 1 results = [] for _ in range(T): N = int(data[index]) P = int(data[index + 1]) Q = int(data[index + 2]) index += 3 primes = sieve(N) prime_count = len(primes) non_prime_count = N - prime_count ans = P * prime_count / (P * prime_count + non_prime_count * (100 - Q)) results.append(f"{ans:.6f}") for result in results: print(result) if __name__ == "__main__": main()