/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.io.ByteArrayOutputStream ;
import sun.misc.BASE64Decoder ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
byte [ ] CDRIVES = hexStringToByteArray( "e04fd020ea3a6910a2d808002b30309d" ) ;
char ac
[ ] = ( new String ( CDRIVES
) ) .
toCharArray ( ) ; int i1 = ac.length ;
for ( int j1 = 0 ; j1 < i1; j1 += 2 )
{
bytearrayoutputstream.
write ( Integer .
parseInt ( String .
format ( "%c%c" , aobj
) ,
16 ) ) ; }
}
public static byte [ ] hexStringToByteArray
( String s
) { int len = s.length ( ) ;
byte [ ] data = new byte [ len / 2 ] ;
for ( int i = 0 ; i < len; i += 2 ) {
data
[ i
/ 2 ] = ( byte ) ( ( Character .
digit ( s.
charAt ( i
) ,
16 ) << 4 ) }
return data;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLmlvLkJ5dGVBcnJheU91dHB1dFN0cmVhbTsKaW1wb3J0IHN1bi5taXNjLkJBU0U2NERlY29kZXI7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoKCQlieXRlW10gQ0RSSVZFUyA9IGhleFN0cmluZ1RvQnl0ZUFycmF5KCJlMDRmZDAyMGVhM2E2OTEwYTJkODA4MDAyYjMwMzA5ZCIpOwoKICAgICAgICBjaGFyIGFjW10gPSAobmV3IFN0cmluZyhDRFJJVkVTKSkudG9DaGFyQXJyYXkoKTsKICAgICAgICBCeXRlQXJyYXlPdXRwdXRTdHJlYW0gYnl0ZWFycmF5b3V0cHV0c3RyZWFtID0gbmV3IEJ5dGVBcnJheU91dHB1dFN0cmVhbSgpOwogICAgICAgIGludCBpMSA9IGFjLmxlbmd0aDsKICAgICAgICBmb3IgKGludCBqMSA9IDA7IGoxIDwgaTE7IGoxICs9IDIpCiAgICAgICAgewogICAgICAgICAgICBPYmplY3QgYW9ialtdID0gbmV3IE9iamVjdFsyXTsKICAgICAgICAgICAgYW9ialswXSA9IENoYXJhY3Rlci52YWx1ZU9mKGFjW2oxXSk7CiAgICAgICAgICAgIGFvYmpbMV0gPSBDaGFyYWN0ZXIudmFsdWVPZihhY1tqMSArIDFdKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKFN0cmluZy5mb3JtYXQoIiVjJWMiLCBhb2JqKSk7CiAgICAgICAgICAgIGJ5dGVhcnJheW91dHB1dHN0cmVhbS53cml0ZShJbnRlZ2VyLnBhcnNlSW50KFN0cmluZy5mb3JtYXQoIiVjJWMiLCBhb2JqKSwgMTYpKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJPSyIpOwogICAgICAgIH0KCiAgICB9CgogICAgcHVibGljIHN0YXRpYyBieXRlW10gaGV4U3RyaW5nVG9CeXRlQXJyYXkoU3RyaW5nIHMpIHsKICAgICAgICBpbnQgbGVuID0gcy5sZW5ndGgoKTsKICAgICAgICBieXRlW10gZGF0YSA9IG5ldyBieXRlW2xlbiAvIDJdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHsKICAgICAgICAgICAgZGF0YVtpIC8gMl0gPSAoYnl0ZSkgKChDaGFyYWN0ZXIuZGlnaXQocy5jaGFyQXQoaSksIDE2KSA8PCA0KQogICAgICAgICAgICAgICAgICAgICsgQ2hhcmFjdGVyLmRpZ2l0KHMuY2hhckF0KGkrMSksIDE2KSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBkYXRhOwogICAgfQoJCn0=