def avg_dist(W, E, western_connections, eastern_connections, overpass_connections): west = [0] * (W + 1) for i, x in enumerate(western_connections, 1): west[i] = west[x - 1] + 1 east = [0] * (E + 1) for i, x in enumerate(eastern_connections, 1): east[i] = east[x - 1] + 1 base_sum = sum(west) * E + sum(east) * W total_pairs = W * E results = [] for A, B in overpass_connections: total_len = base_sum + (west[A - 1] + east[B - 1] + 1) * total_pairs results.append(total_len / ((W + E) * (W + E - 1) / 2)) return results T = int(input()) for t in range(T): W, E, C = map(int, input().split()) western_connections = list(map(int, input().split())) eastern_connections = list(map(int, input().split())) overpass_connections = [tuple(map(int, input().split())) for _ in range(C)] results = avg_dist(W, E, western_connections, eastern_connections, overpass_connections) print(f'Case #{t+1}:', *results)