import java.util.*;class A
{int Q
(String a,
int b
){return Integer.
parseInt(a,b
);}String P
(int a
){return Integer.
toString(a
);}ArrayList
<String
>B
=new ArrayList
<String
>();void J
(String O
){B.
add(O
);}String TD
(String l,
String p,
int a,
int c,
int d
){String X,Y,Z
;X
=Y
=Z
=new String();int i
=0;for(char F
:l.
toCharArray()){if(i
<a
){X
+=F
;}if(a
<=i
&i
<c
){Y
+=F
;}if(c
<=i
){Z
+=F
;}i
++;}String[]H
=new String[3];H
[0]=P
(d
+Q
(X,
2));H
[1]=P
(Q
(Y,
2));H
[2]=(p
==":")?P
(Q
(Z,
2)*2):P
(Q
(Z,
2));int T
=0;for(String A
:H
){H
[T
]=(A.
length()<2)?"0"+A
:A
;T
++;}return H
[0]+p
+H
[1]+p
+H
[2];}String D
(String i
){String K
=new String();int L
=0;for(char Y
:i.
toCharArray()){if(L
%8
<1){K
+=" ";}K
+=Y
;L
++;}String[]C
=K.
split(" ");String[]z
={"RO",
"H",
"S",
"VL",
"SD",
"A"};int[]l
={1,
2,
4,
8,
16,
32};Map
<Integer,String
>U
=new HashMap
<Integer,String
>();for (int e
=0;e
<l.
length;e
++){U.
put(l
[e
],z
[e
]);}String[]N
={":",
"/",
":",
"/"};int[]M
={15,
17,
23,
25};int[]O
={5,
7,
5,
7};int[]P
={0,
1980,
0,
1980};for(int y
=1;y
<9;y
++){if((char)Q
(C
[y
],
2)!=' '){J
(Character.
toString((char)Q
(C
[y
],
2)));}}for(int v
=9;v
<12;v
++){if((char)Q
(C
[v
],
2)!=' '){if(!B.
contains(".")){J
(".");}J
(Character.
toString((char)Q
(C
[v
],
2)));}}J
(" ");int T
=(char)Q
(C
[12],
2);while(T
>0){int H
=l
[0];for(int V
:l
){if(V
<=T
){H
=V
;}}J
(U.
get(H
));T
-=H
;}for(int w
=0;w
<4;w
++){J
(" ");J
(TD
(C
[M
[w
]]+C
[M
[w
]+1],N
[w
],O
[w
],
11,P
[w
]));}J
(" ");if(B.
contains("SD")||B.
contains("VL")){J
("0");}else{J
(P
(Q
(C
[29]+C
[30]+C
[31]+C
[32],
2)));}return String.
join("",B
);}public static void main
(String[]a
){A H
=new A
();System.
out.
print(H.
D(new Scanner
(System.
in).
next()));}}
aW1wb3J0IGphdmEudXRpbC4qO2NsYXNzIEF7aW50IFEoU3RyaW5nIGEsaW50IGIpe3JldHVybiBJbnRlZ2VyLnBhcnNlSW50KGEsYik7fVN0cmluZyBQKGludCBhKXtyZXR1cm4gSW50ZWdlci50b1N0cmluZyhhKTt9QXJyYXlMaXN0PFN0cmluZz5CPW5ldyBBcnJheUxpc3Q8U3RyaW5nPigpO3ZvaWQgSihTdHJpbmcgTyl7Qi5hZGQoTyk7fVN0cmluZyBURChTdHJpbmcgbCxTdHJpbmcgcCxpbnQgYSxpbnQgYyxpbnQgZCl7U3RyaW5nIFgsWSxaO1g9WT1aPW5ldyBTdHJpbmcoKTtpbnQgaT0wO2ZvcihjaGFyIEY6bC50b0NoYXJBcnJheSgpKXtpZihpPGEpe1grPUY7fWlmKGE8PWkmaTxjKXtZKz1GO31pZihjPD1pKXtaKz1GO31pKys7fVN0cmluZ1tdSD1uZXcgU3RyaW5nWzNdO0hbMF09UChkK1EoWCwyKSk7SFsxXT1QKFEoWSwyKSk7SFsyXT0ocD09IjoiKT9QKFEoWiwyKSoyKTpQKFEoWiwyKSk7aW50IFQ9MDtmb3IoU3RyaW5nIEE6SCl7SFtUXT0oQS5sZW5ndGgoKTwyKT8iMCIrQTpBO1QrKzt9cmV0dXJuIEhbMF0rcCtIWzFdK3ArSFsyXTt9U3RyaW5nIEQoU3RyaW5nIGkpe1N0cmluZyBLPW5ldyBTdHJpbmcoKTtpbnQgTD0wO2ZvcihjaGFyIFk6aS50b0NoYXJBcnJheSgpKXtpZihMJTg8MSl7Sys9IiAiO31LKz1ZO0wrKzt9U3RyaW5nW11DPUsuc3BsaXQoIiAiKTtTdHJpbmdbXXo9eyJSTyIsIkgiLCJTIiwiVkwiLCJTRCIsIkEifTtpbnRbXWw9ezEsMiw0LDgsMTYsMzJ9O01hcDxJbnRlZ2VyLFN0cmluZz5VPW5ldyBIYXNoTWFwPEludGVnZXIsU3RyaW5nPigpO2ZvciAoaW50IGU9MDtlPGwubGVuZ3RoO2UrKyl7VS5wdXQobFtlXSx6W2VdKTt9U3RyaW5nW11OPXsiOiIsIi8iLCI6IiwiLyJ9O2ludFtdTT17MTUsMTcsMjMsMjV9O2ludFtdTz17NSw3LDUsN307aW50W11QPXswLDE5ODAsMCwxOTgwfTtmb3IoaW50IHk9MTt5PDk7eSsrKXtpZigoY2hhcilRKENbeV0sMikhPScgJyl7SihDaGFyYWN0ZXIudG9TdHJpbmcoKGNoYXIpUShDW3ldLDIpKSk7fX1mb3IoaW50IHY9OTt2PDEyO3YrKyl7aWYoKGNoYXIpUShDW3ZdLDIpIT0nICcpe2lmKCFCLmNvbnRhaW5zKCIuIikpe0ooIi4iKTt9SihDaGFyYWN0ZXIudG9TdHJpbmcoKGNoYXIpUShDW3ZdLDIpKSk7fX1KKCIgIik7aW50IFQ9KGNoYXIpUShDWzEyXSwyKTt3aGlsZShUPjApe2ludCBIPWxbMF07Zm9yKGludCBWOmwpe2lmKFY8PVQpe0g9Vjt9fUooVS5nZXQoSCkpO1QtPUg7fWZvcihpbnQgdz0wO3c8NDt3Kyspe0ooIiAiKTtKKFREKENbTVt3XV0rQ1tNW3ddKzFdLE5bd10sT1t3XSwxMSxQW3ddKSk7fUooIiAiKTtpZihCLmNvbnRhaW5zKCJTRCIpfHxCLmNvbnRhaW5zKCJWTCIpKXtKKCIwIik7fWVsc2V7SihQKFEoQ1syOV0rQ1szMF0rQ1szMV0rQ1szMl0sMikpKTt9cmV0dXJuIFN0cmluZy5qb2luKCIiLEIpO31wdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXWEpe0EgSD1uZXcgQSgpO1N5c3RlbS5vdXQucHJpbnQoSC5EKG5ldyBTY2FubmVyKFN5c3RlbS5pbikubmV4dCgpKSk7fX0=