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



*        Temperature conversion    10/09/2015
TEMPERAT CSECT
         USING  TEMPERAT,R15
         LA     R4,1               i=1
         LA     R5,TT              @tt(1)
         LA     R6,IDE             @ide(1)
LOOPI    CH     R4,=AL2((T-TT)/8)  do i=1 to hbound(tt)
         BH     ELOOPI
         ZAP    T,0(8,R5)          t=tt(i)
         CVD    R4,DW              store to packed decimal
         UNPK   PG(1),DW+7(1)      unpack
         OI     PG,X'F0'           zap sign
         MVI    PG+1,C' '
         MVC    PG+2(12),0(R6)     ide(i)
         XPRNT  PG,14              output i
         MVC    PG(12),=C'Kelvin:     '
         MVC    ZN,EDMASKN         load mask
         EDMK   ZN,T+5             t (PL3)
         BCTR   R1,0               sign location
         MVC    0(1,R1),ZN+L'ZN-1  put sign
         MVC    PG+12(L'ZN-1),ZN   value
         MVC    PG+19(2),=C' K'    unit
         XPRNT  PG,21              output Kelvin
         MVC    PG(12),=C'Celsius:    '
         ZAP    DW,T               t
         SP     DW,=P'273.15'      t-273.15
         MVC    ZN,EDMASKN         load mask
         EDMK   ZN,DW+5            (PL3)
         BCTR   R1,0               sign location
         MVC    0(1,R1),ZN+L'ZN-1  put sign
         MVC    PG+12(L'ZN-1),ZN   value
         MVC    PG+19(2),=C' C'    unit
         XPRNT  PG,21              output Celsius
         MVC    PG(12),=C'Fahrenheit: '
         ZAP    DW,T               t
         MP     DW,=P'18'          *18
         DP     DW,=PL3'10'        /10
         ZAP    DW,DW(5)
         SP     DW,=P'459.67'      t*1.8-459.67
         MVC    ZN,EDMASKN         load mask
         EDMK   ZN,DW+5            (PL3)
         BCTR   R1,0               sign location
         MVC    0(1,R1),ZN+L'ZN-1  put sign
         MVC    PG+12(L'ZN-1),ZN   value
         MVC    PG+19(2),=C' F'    unit
         XPRNT  PG,21              output Fahrenheit
         MVC    PG(12),=C'Rankine:    '
         ZAP    DW,T               t
         MP     DW,=P'18'          *18
         DP     DW,=PL3'10'        /10
         ZAP    DW,DW(5)           t*1.8
         MVC    ZN,EDMASKN         load mask
         EDMK   ZN,DW+5            (PL3)
         BCTR   R1,0               sign location
         MVC    0(1,R1),ZN+L'ZN-1  put sign
         MVC    PG+12(L'ZN-1),ZN   value
         MVC    PG+19(2),=C' R'    unit
         XPRNT  PG,21              output Rankine
         LA     R4,1(R4)           i=i+1
         LA     R5,8(R5)           @tt(i)
         LA     R6,12(R6)          @ide(i)
         B      LOOPI
ELOOPI   XR     R15,R15
         BR     R14
IDE      DC     CL12'absolute',CL12'ice melts',CL12'water boils'
TT       DC     PL8'0.00',PL8'273.15',PL8'373.15'
T        DS     PL8
PG       DS     CL24
ZN       DS     ZL8                5num
DW       DS     D                  PL8 15num
EDMASKN  DC     X'402021204B202060'     CL8 5num
         YREGS
         END    TEMPERAT