PivotOJ

Imperfect Imperial Units

시간 제한: 4000ms메모리 제한: 1024MB출처: BAPC 2022BOJ 26000

문제

You are writing a paper for the Beta Astronomy Physics Conference about your recent discovery on grey holes. One of your collaborators has performed a huge number of measurements, which you would like to analyse in order to draw some conclusions. The only problem is: the data is measured in a wide variety of units, and to your disgust, they appear to use a mix of the imperial and metric systems. To simplify your analysis, you need to convert all these measurements into a different unit.

입력

The input consists of:

  • One line with two integers nn and qq (1n1001\leq n\leq 100, 1q100001\leq q\leq 10\,000), the number of unit conversion equations and the number of queries to answer.
  • nn lines, each defining a unit conversion in the format "1 <unit> = <value> <unit>".
  • qq lines, each with a query in the format "<value> <unit> to <unit>".

In these formats, "<value>" is a floating-point number vv (0.001v10000.001 \leq v \leq 1000, with at most 99 digits after the decimal point) and "<unit>" is a string of at most 2020 English lowercase letters (a-z). A unit in a query is guaranteed to be defined in at least one unit conversion equation. Every unit can be converted into every other unit in at most one way.

출력

For every query, output the value of the requested unit, or "impossible" if the query cannot be answered.

Your answers should have a relative error of at most 10610^{-6}.

예제

예제 1

입력
4 3
1 foot = 12 inch
1 yard = 3 foot
1 meter = 100 centimeter
1 centimeter = 10 millimeter
750 millimeter to meter
42 yard to inch
10 meter to foot
출력
0.75
1512
impossible

예제 2

입력
4 3
1 fortnight = 14 day
1 microcentury = 0.036525 day
1 microcentury = 1000 nanocentury
1 week = 7 day
22.2 fortnight to nanocentury
2.5 nanocentury to week
3.14 day to fortnight
출력
8509240.2464065708427
1.3044642857142857142e-05
0.22428571428571428572

예제 3

입력
10 2
1 micrometer = 1000 nanometer
1 millimeter = 1000 micrometer
1 meter = 1000 millimeter
1 kilometer = 1000 meter
1 megameter = 1000 kilometer
1 lightsecond = 299.792458 meter
1 lightminute = 60 lightsecond
1 lighthour = 60 lightminute
1 lightday = 24 lighthour
1 lightyear = 365.25 lightday
42 nanometer to lightyear
42 lightyear to nanometer
출력
4.439403502903384947e-18
3.9735067984839359997e+20
코드를 제출하려면 로그인하세요.