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



define tempconverter(temp, kind) => {
 
    local(
        _temp       = decimal(#temp),
        convertratio    = 1.8,
        k_c     = 273.15,
        r_f     = 459.67,
        k,c,r,f
    )
 
    match(#kind) => {
        case('k')
            #k = #_temp
            #c = -#k_c + #k
            #r = #k * #convertratio
            #f = -#r_f + #r
        case('c')
            #c = #_temp
            #k = #k_c + #c
            #r = #k * #convertratio
            #f = -#r_f + #r
        case('r')
            #r = #_temp
            #f = -#r_f + #r
            #k = #r / #convertratio
            #c = -#k_c + #k
        case('f')
            #f = #_temp
            #r = #r_f + #f
            #k = #r / #convertratio
            #c = -#k_c + #k
        case
            return 'Something wrong'
    }
 
    return ('K = ' + #k -> asstring(-precision = 2) +
        ' C = ' + #c -> asstring(-precision = 2) +
        ' R = ' + #r -> asstring(-precision = 2) +
        ' F = ' + #f -> asstring(-precision = 2)
        )
}
 
tempconverter(21, 'k')
'<br />'
tempconverter(21, 'c')
'<br />'
tempconverter(-41, 'c')
'<br />'
tempconverter(37.80, 'r')
'<br />'
tempconverter(69.80, 'f')