410425: GYM104020 I Imperfect Imperial Units
Description
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.
InputThe input consists of:
- One line with two integers $$$n$$$ and $$$q$$$ ($$$1\leq n\leq 100$$$, $$$1\leq q\leq 10\,000$$$), the number of unit conversion equations and the number of queries to answer.
- $$$n$$$ lines, each defining a unit conversion in the format "1 <unit> = <value> <unit>".
- $$$q$$$ lines, each with a query in the format "<value> <unit> to <unit>".
In these formats, "<value>" is a floating-point number $$$v$$$ ($$$0.001 \leq v \leq 1000$$$, with at most $$$9$$$ digits after the decimal point) and "<unit>" is a string of at most $$$20$$$ 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.
OutputFor 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 $$$10^{-6}$$$.
ExamplesInput4 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 footOutput
0.75 1512.0 impossibleInput
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 fortnightOutput
8509240.24640657 1.3044642857142857e-05 0.22428571428571428Input
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 nanometerOutput
4.439403502903386e-18 3.973506798483936e+20