class  M{ 
           b,
           c= a= b=  "" ; 
    for ( char  i =  1 ,
             q =  z[ 0 ] ,
             o =  79 ,
             s =  32 ,
             x;  i <  z.length ;  a +=  ( x =  z[ i] )  >  q
                                     ?  o
                                     :  s,
                              b +=  x ==  q
                                     ?  o
                                     :  s,
                              c +=  x <  q
                                     ?  o
                                     :  s,
                              q =  z[ i++ ] ) ; 
    return  a +  "\n "  +  b +  "\n "  +  c; 
  } 
 
  public  static  void  main
( String [ ]  a
) {      print( "HELLOWORLD" ) ; 
    print( "TESTCASE" ) ; 
    print( "EXAMINATION" ) ; 
    print( "ZSILENTYOUTH" ) ; 
    print( "ABC" ) ; 
    print( "ABCBA" ) ; 
    print( "ABBCBA" ) ; 
    print( "UVVWVVUVVWVVUVVW" ) ; 
  } 
 
    System .
out .
println ( c
( s.
toCharArray ( ) ) ) ;      System .
out .
println ( "-------------------------" ) ;    } 
} 
 
				Y2xhc3MgTXsKICBzdGF0aWMgU3RyaW5nIGMoY2hhcltdIHopewogICAgU3RyaW5nIGEsCiAgICAgICAgICAgYiwKICAgICAgICAgICBjPWE9Yj0gIiI7CiAgICBmb3IoY2hhciBpID0gMSwKICAgICAgICAgICAgIHEgPSB6WzBdLAogICAgICAgICAgICAgbyA9IDc5LAogICAgICAgICAgICAgcyA9IDMyLAogICAgICAgICAgICAgeDsgaSA8IHoubGVuZ3RoOyBhICs9ICh4ID0geltpXSkgPiBxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiArPSB4ID09IHEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjICs9IHggPCBxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcSA9IHpbaSsrXSk7CiAgICByZXR1cm4gYSArICJcbiIgKyBiICsgIlxuIiArIGM7CiAgfQoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhKXsKICAgIHByaW50KCJIRUxMT1dPUkxEIik7CiAgICBwcmludCgiVEVTVENBU0UiKTsKICAgIHByaW50KCJFWEFNSU5BVElPTiIpOwogICAgcHJpbnQoIlpTSUxFTlRZT1VUSCIpOwogICAgcHJpbnQoIkFCQyIpOwogICAgcHJpbnQoIkFCQ0JBIik7CiAgICBwcmludCgiQUJCQ0JBIik7CiAgICBwcmludCgiVVZWV1ZWVVZWV1ZWVVZWVyIpOwogIH0KCiAgc3RhdGljIHZvaWQgcHJpbnQoU3RyaW5nIHMpewogICAgU3lzdGVtLm91dC5wcmludGxuKGMocy50b0NoYXJBcnJheSgpKSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKICB9Cn0=