n, m = map(int, input().split())
r = float(input())

waste = [0.0]  # Изначально отходов нет
production_days = []  # Список для хранения информации о производственных днях

for _ in range(n):
    di, wi = map(int, input().split())
    production_days.append((di, wi))

# Сортируем производственные дни по номеру дня
production_days.sort(key=lambda x: x[0])

# Вычисляем количество отходов к концу каждого производственного дня
for day, raw_material in production_days:
    waste_today = waste[-1] * (1 - r) + raw_material * r
    waste.append(waste_today)

inspection_days = list(map(int, input().split()))

# Выводим количество отходов на интересующих инспекцию днях
for day in inspection_days:
    index = next((i for i, (d, _) in enumerate(production_days) if d >= day), n - 1)
    waste_at_inspection_day = waste[index]
    print(f"{waste_at_inspection_day:.6f}")