import  java.util.Scanner ; 
public  class  Main { 
		try  ( Scanner in 
=  new  Scanner
( System .
in ) )  {  			while  ( in.hasNext ( ) )  { 
				String [ ]  line 
=  in.
nextLine ( ) .
split ( ":" ) ;  			} 
		} 
	} 
	public  static  String  convert
( int  hour, 
int  min
)  {  		boolean  am; 
		if  ( hour< 12 )  { 
			am= true ; 
			if  ( hour== 0 )  hour =  12 ; 
		}  else  { 
			am= false ; 
			if  ( hour !=  12 )  hour-= 12 ; 
		} 
		if  ( min ==  0 )  { 
			if  ( hour 
==  12 )  return  String .
format ( "It's %s" , am
? "midnight" : "noon" ) ;  			else  return  String .
format ( "It's %s o'clock %s" , intToText
( hour
) , am
? "am" : "pm" ) ;  		} 
		else  if  ( min 
==  30 )  return  String .
format ( "It's half past %s %s" , intToText
( hour
) , am
? "am" : "pm" ) ;  		else  if  ( min 
==  15 )  return  String .
format ( "It's quarter past %s %s" , intToText
( hour
) , am
? "am" : "pm" ) ;  		else  if  ( min 
==  45 )  return  String .
format ( "It's quarter til %s %s" , intToText
( ( hour
== 12 ) ? 1 : hour
+ 1 ) , 
( ( hour
== 11 ) ?! am
: am
) ? "am" : "pm" ) ;  		else  return  String .
format ( "It's %s %s %s" , intToText
( hour
) , 
( ( ( min
< 10  &&  min
> 0 ) ? ( "oh " ) : ( "" ) )  +  intToText
( min
) ) ,am
? "am" : "pm" ) ;  	} 
	private  static  String  intToText
( int  number
)  {  		if  ( number <  20 )  return  onesNames[ number] ; 
		else  { 
			int  tens =  number/ 10 ; 
			int  ones =  number% 10; 
			if  ( ones== 0 )  return  tensNames[ tens] ; 
			else  return  tensNames[ tens]  +  " "  +  onesNames[ ones] ; 
		} 
	} 
	private  static  final  String [ ]  tensNames 
=  {  "" , 
"ten" , 
"twenty" , 
"thirty" , 
"forty" , 
"fifty" , 
"sixty" , 
"seventy" , 
"eighty" , 
"ninety"  } ;  	private  static  final  String [ ]  onesNames 
=  {  "" , 
"one" , 
"two" , 
"three" , 
"four" , 
"five" , 
"six" , 
"seven" , 
"eight" , 
"nine" , 
"ten" , 
"eleven" , 
"twelve" , 
"thirteen" , 
"fourteen" , 
"fifteen" , 
"sixteen" , 
"seventeen" , 
"eighteen" , 
"nineteen"  } ;  } 
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwpwdWJsaWMgY2xhc3MgTWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uIHsKCQl0cnkgKFNjYW5uZXIgaW4gPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pKSB7CgkJCXdoaWxlIChpbi5oYXNOZXh0KCkpIHsKCQkJCVN0cmluZ1tdIGxpbmUgPSBpbi5uZXh0TGluZSgpLnNwbGl0KCI6Iik7CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oY29udmVydChJbnRlZ2VyLnBhcnNlSW50KGxpbmVbMF0pLCBJbnRlZ2VyLnBhcnNlSW50KGxpbmVbMV0pKSk7CgkJCX0KCQl9Cgl9CglwdWJsaWMgc3RhdGljIFN0cmluZyBjb252ZXJ0KGludCBob3VyLCBpbnQgbWluKSB7CgkJYm9vbGVhbiBhbTsKCQlpZiAoaG91cjwxMikgewoJCQlhbT10cnVlOwoJCQlpZiAoaG91cj09MCkgaG91ciA9IDEyOwoJCX0gZWxzZSB7CgkJCWFtPWZhbHNlOwoJCQlpZiAoaG91ciAhPSAxMikgaG91ci09MTI7CgkJfQoJCWlmIChtaW4gPT0gMCkgewoJCQlpZiAoaG91ciA9PSAxMikgcmV0dXJuIFN0cmluZy5mb3JtYXQoIkl0J3MgJXMiLCBhbT8ibWlkbmlnaHQiOiJub29uIik7CgkJCWVsc2UgcmV0dXJuIFN0cmluZy5mb3JtYXQoIkl0J3MgJXMgbydjbG9jayAlcyIsIGludFRvVGV4dChob3VyKSwgYW0/ImFtIjoicG0iKTsKCQl9CgkJZWxzZSBpZiAobWluID09IDMwKSByZXR1cm4gU3RyaW5nLmZvcm1hdCgiSXQncyBoYWxmIHBhc3QgJXMgJXMiLCBpbnRUb1RleHQoaG91ciksIGFtPyJhbSI6InBtIik7CgkJZWxzZSBpZiAobWluID09IDE1KSByZXR1cm4gU3RyaW5nLmZvcm1hdCgiSXQncyBxdWFydGVyIHBhc3QgJXMgJXMiLCBpbnRUb1RleHQoaG91ciksIGFtPyJhbSI6InBtIik7CgkJZWxzZSBpZiAobWluID09IDQ1KSByZXR1cm4gU3RyaW5nLmZvcm1hdCgiSXQncyBxdWFydGVyIHRpbCAlcyAlcyIsIGludFRvVGV4dCgoaG91cj09MTIpPzE6aG91cisxKSwgKChob3VyPT0xMSk/IWFtOmFtKT8iYW0iOiJwbSIpOwoJCWVsc2UgcmV0dXJuIFN0cmluZy5mb3JtYXQoIkl0J3MgJXMgJXMgJXMiLCBpbnRUb1RleHQoaG91ciksICgoKG1pbjwxMCAmJiBtaW4+MCk/KCJvaCAiKTooIiIpKSArIGludFRvVGV4dChtaW4pKSxhbT8iYW0iOiJwbSIpOwoJfQoJcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIGludFRvVGV4dChpbnQgbnVtYmVyKSB7CgkJaWYgKG51bWJlciA8IDIwKSByZXR1cm4gb25lc05hbWVzW251bWJlcl07CgkJZWxzZSB7CgkJCWludCB0ZW5zID0gbnVtYmVyLzEwOwoJCQlpbnQgb25lcyA9IG51bWJlciUxMDsKCQkJaWYgKG9uZXM9PTApIHJldHVybiB0ZW5zTmFtZXNbdGVuc107CgkJCWVsc2UgcmV0dXJuIHRlbnNOYW1lc1t0ZW5zXSArICIgIiArIG9uZXNOYW1lc1tvbmVzXTsKCQl9Cgl9Cglwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmdbXSB0ZW5zTmFtZXMgPSB7ICIiLCAidGVuIiwgInR3ZW50eSIsICJ0aGlydHkiLCAiZm9ydHkiLCAiZmlmdHkiLCAic2l4dHkiLCAic2V2ZW50eSIsICJlaWdodHkiLCAibmluZXR5IiB9OwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nW10gb25lc05hbWVzID0geyAiIiwgIm9uZSIsICJ0d28iLCAidGhyZWUiLCAiZm91ciIsICJmaXZlIiwgInNpeCIsICJzZXZlbiIsICJlaWdodCIsICJuaW5lIiwgInRlbiIsICJlbGV2ZW4iLCAidHdlbHZlIiwgInRoaXJ0ZWVuIiwgImZvdXJ0ZWVuIiwgImZpZnRlZW4iLCAic2l4dGVlbiIsICJzZXZlbnRlZW4iLCAiZWlnaHRlZW4iLCAibmluZXRlZW4iIH07Cn0=