from fractions import Fraction as F

n = int(input())

counts = []
mapper = dict()
total = 0
for i in range(n):
    c, w = input().split()
    mapper[w] = i
    c = int(c)
    counts += [c]
    total += c

dp = [[F(0)]*n for _ in range(n)]

if n == 1:
    dp[0][0] = F(1)
elif n == 2:
    a0 = F(counts[0],total)
    dp[0][0] = a0
    dp[1][0] = 1-a0
    dp[0][1] = dp[1][1] = 1
else:
    for i in range(n):
        for j in range(i+1,n):
            for k in range(j+1,n):
                sub = F(counts[i] * counts[j] * counts[k])
                ijk = F(1, total * (total - counts[i]) * (total - counts[i] - counts[j]))
                ikj = F(1, total * (total - counts[i]) * (total - counts[i] - counts[k]))

                jik = F(1, total * (total - counts[j]) * (total - counts[j] - counts[i]))
                jki = F(1, total * (total - counts[j]) * (total - counts[j] - counts[k]))

                kij = F(1, total * (total - counts[k]) * (total - counts[k] - counts[i]))
                kji = F(1, total * (total - counts[k]) * (total - counts[k] - counts[j]))

                dp[i][0] += sub*(ijk + ikj)
                dp[i][1] += sub*(jik + kij)
                dp[i][2] += sub*(jki + kji)

                dp[j][0] += sub*(jik + jki)
                dp[j][1] += sub*(ijk + kji)
                dp[j][2] += sub*(ikj + kij)

                dp[k][0] += sub*(kij + kji)
                dp[k][1] += sub*(ikj + jki)
                dp[k][2] += sub*(ijk + jik)

                comb = sub*(ijk + ikj + jik + jki + kij + kji)

                ind=3
                for x in range(n):
                    if x!=i and x!=j and x!=k:
                        dp[x][ind] += comb
                        ind+=1
                        
    for i in range(n):
        for j in range(1,n):
            dp[i][j] += dp[i][j-1]

q = int(input())

def convert(frac):
    a = frac.numerator
    b = frac.denominator
    # if a == b: return '1.0'
    output = [a//b, '.']
    a%=b
    for _ in range(30): # number of digits of output
        a*=10
        output += [a//b]
        a%=b
    return ''.join(map(str, output))

for _ in range(q):
    w, p = input().split()
    p = int(p)
    print(convert(dp[mapper[w]][p-1]))
