There are quite a number of temperature scales. For this task we will concentrate on four of the perhaps best-known ones:
Kelvin, Celsius, Fahrenheit, and Rankine.

The Celsius and Kelvin scales have the same magnitude, but different null points.

 0 degrees Celsius corresponds to 273.15 kelvin.
 0 kelvin is absolute zero.
The Fahrenheit and Rankine scales also have the same magnitude, but different null points.

 0 degrees Fahrenheit corresponds to 459.67 degrees Rankine.
 0 degrees Rankine is absolute zero.
The Celsius/Kelvin and Fahrenheit/Rankine scales have a ratio of 5 : 9.



Task
Write code that accepts a value of kelvin, converts it to values of the three other scales, and prints the result.



Example

K  21.00

C  -252.15

F  -421.87

R  37.80



 
class Temperature {
  function : Main(args : String[]) ~ Nil {
    k := System.IO.Console->ReadString()->ToFloat();
    c := KelvinToCelsius(k);
    f := KelvinToFahrenheit(k);
    r := KelvinToRankine(k);
 
    "K: {$k}"->PrintLine();
    "C: {$c}"->PrintLine();
    "F: {$f}"->PrintLine();
    "R: {$r}"->PrintLine();
  }
 
  function : KelvinToCelsius(k : Float) ~ Float {
    return k - 273.15;
  }
 
  function : KelvinToFahrenheit(k : Float) ~ Float {
    return k * 1.8 - 459.67;
  }
 
  function : KelvinToRankine(k : Float) ~ Float {
    return k * 1.8;
  }
}
 