class M{
String x
[ ] = s.
split ( "\\ [\\ ?\\ ]" ) ,
r = "" ;
int i = 0 ,
l = x.length - 1 ;
for ( ; i < l; r += x[ i]
+ ( x[ i] .length ( ) < 1 | x[ i] .matches ( ".+[.!?] $" )
? 65
: 'a' )
+ ( "aeiouAEIOU" .contains ( x[ ++ i] .charAt ( 1 ) + "" )
? "n"
: "" ) ) ;
return r + x[ l] ;
}
public static void main
( String [ ] a
) { System .
out .
println ( c
( "Hello, this is [?] world!" ) ) ; System .
out .
println ( c
( "How about we build [?] big building. It will have [?] orange banana hanging out of [?] window." ) ) ; System .
out .
println ( c
( "[?] giant en le sky." ) ) ; System .
out .
println ( c
( "[?] yarn ball? [?] big one!" ) ) ; System .
out .
println ( c
( "[?] hour ago I met [?] European. " ) ) ; System .
out .
println ( c
( "Hey sir [Richard], how 'bout [?] cat?" ) ) ; System .
out .
println ( c
( "[?] dog is barking. [?] cat is scared!" ) ) ; }
}
Y2xhc3MgTXsKICBzdGF0aWMgU3RyaW5nIGMoU3RyaW5nIHMpewogICAgU3RyaW5nIHhbXSA9IHMuc3BsaXQoIlxcW1xcP1xcXSIpLAogICAgICAgICAgIHIgPSAiIjsKICAgIGludCBpID0gMCwKICAgICAgICBsID0geC5sZW5ndGggLSAxOwogICAgZm9yICg7IGkgPCBsOyByICs9IHhbaV0KICAgICAgICAgICAgICAgICAgICAgKyAoeFtpXS5sZW5ndGgoKSA8IDEgfCB4W2ldLm1hdGNoZXMoIi4rWy4hP10gJCIpIAogICAgICAgICAgICAgICAgICAgICAgICA/IDY1CiAgICAgICAgICAgICAgICAgICAgICAgIDogJ2EnKQogICAgICAgICAgICAgICAgICAgICArICgiYWVpb3VBRUlPVSIuY29udGFpbnMoeFsrK2ldLmNoYXJBdCgxKSsiIikKICAgICAgICAgICAgICAgICAgICAgICAgPyAibiIKICAgICAgICAgICAgICAgICAgICAgICAgOiAiIikpOwogICAgcmV0dXJuIHIgKyB4W2xdOwogIH0KCiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYSl7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oYygiSGVsbG8sIHRoaXMgaXMgWz9dIHdvcmxkISIpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihjKCJIb3cgYWJvdXQgd2UgYnVpbGQgWz9dIGJpZyBidWlsZGluZy4gSXQgd2lsbCBoYXZlIFs/XSBvcmFuZ2UgYmFuYW5hIGhhbmdpbmcgb3V0IG9mIFs/XSB3aW5kb3cuIikpOwogICAgU3lzdGVtLm91dC5wcmludGxuKGMoIls/XSBnaWFudCBlbiBsZSBza3kuIikpOwogICAgU3lzdGVtLm91dC5wcmludGxuKGMoIls/XSB5YXJuIGJhbGw/IFs/XSBiaWcgb25lISIpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihjKCJbP10gaG91ciBhZ28gSSBtZXQgWz9dIEV1cm9wZWFuLiAiKSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oYygiSGV5IHNpciBbUmljaGFyZF0sIGhvdyAnYm91dCBbP10gY2F0PyIpKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihjKCJbP10gZG9nIGlzIGJhcmtpbmcuIFs/XSBjYXQgaXMgc2NhcmVkISIpKTsKICB9Cn0=