importPackage( java.io ) ;
importPackage( java.lang ) ;
var alphabet = [ "a" , "b" , "c" , "d" , "e" , "f" , "g" , "h" , "i" , "j" , "k" , "l" , "m" , "n" , "o" , "p" , "q" , "r" , "s" , "t" , "u" , "v" , "w" , "x" , "y" , "z" , "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "A" , "B" , "C" , "D" , "E" , "F" , "G" , "H" , "I" , "J" , "K" , "L" , "M" , "N" , "O" , "P" , "Q" , "R" , "S" , "T" , "U" , "V" , "W" , "X" , "Y" , "Z" ] ;
var finalstr = "11111110111111111110010000101101100" ;
var pass = "" ;
var a = 0 ;
var b = 0 ;
var c= 0 ;
var d = 0 ;
var e = 0 ;
while ( a< 62 ) {
while ( b< 62 ) {
while ( c< 62 ) {
while ( d< 62 ) {
while ( e< 62 ) {
var password = alphabet[ a] + alphabet[ b] + alphabet[ c] + alphabet[ d] + alphabet[ e] ;
print( password) ;
var midlst = new Array ( ) ;
var finalst = new Array ( ) ;
var absfinal = new Array ( ) ;
var currchar = '' ;
var basestr = password;
var i = 0 ;
while( i < basestr.length ) {
if ( i% 2 == 0 ) {
currchar = basestr.charAt ( i) ;
currchar = currchar.charCodeAt ( 0 ) ;
var binint = currchar.toString ( 2 ) ;
var modint = binint % 26 ;
midlst[ i] = ( ( ( alphabet[ modint] .charCodeAt ( 0 ) ) * currchar) % 127) ;
}
else {
currchar = basestr[ i] .charCodeAt ( 0 ) ;
midlst[ i] = ( ( ( alphabet[ currchar% 26] .charCodeAt ( 0 ) ) * currchar) % 127) ;
}
i++;
}
for ( num in midlst) {
midlst[ num] = midlst[ num] .toString ( 2 ) ;
finalst.push ( midlst[ num] ) ;
}
var maxlen = 0 ;
for ( num in finalst) {
if ( finalst[ num] .toString ( ) .length > maxlen) {
maxlen = finalst[ num] .toString ( ) .length ;
}
}
i = 0 ;
while( i < maxlen) {
for ( binnum in finalst) {
if ( finalst[ binnum] .toString ( ) .length > i) {
absfinal.push ( finalst[ binnum] .toString ( ) .charAt ( i) ) ;
}
}
i++;
}
if ( absfinal.join ( "" ) == finalstr) {
print( password) ;
}
e++;
}
d++;
}
c++;
}
b++;
}
a++;
}
aW1wb3J0UGFja2FnZShqYXZhLmlvKTsKaW1wb3J0UGFja2FnZShqYXZhLmxhbmcpOwoKdmFyIGFscGhhYmV0ID0gWyJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIGZpbmFsc3RyID0gIjExMTExMTEwMTExMTExMTExMTEwMDEwMDAwMTAxMTAxMTAwIjsKCnZhciBwYXNzID0gIiI7CnZhciBhID0gMDsKdmFyIGIgPSAwOwp2YXIgYz0gMDsKdmFyIGQgPSAwOwp2YXIgZSA9IDA7Cgp3aGlsZSAoYTw2MikgewoJd2hpbGUgKGI8NjIpIHsKCQl3aGlsZSAoYzw2MikgewoJCQl3aGlsZSAoZDw2MikgewoJCQkJd2hpbGUgKGU8NjIpIHsKCQkJCQl2YXIgcGFzc3dvcmQgPSBhbHBoYWJldFthXSArIGFscGhhYmV0W2JdICsgYWxwaGFiZXRbY10gKyBhbHBoYWJldFtkXSArIGFscGhhYmV0W2VdOwoJCQkJCXByaW50KHBhc3N3b3JkKTsKCQkJCQl2YXIgbWlkbHN0ID0gbmV3IEFycmF5KCk7CgkJCQkJdmFyIGZpbmFsc3QgPSBuZXcgQXJyYXkoKTsKCQkJCQl2YXIgYWJzZmluYWwgPSBuZXcgQXJyYXkoKTsKCQkJCQl2YXIgY3VycmNoYXIgPSAnJzsKCQkJCQl2YXIgYmFzZXN0ciA9IHBhc3N3b3JkOwoJCQkJCXZhciBpID0gMDsKCQkJCQl3aGlsZShpIDwgYmFzZXN0ci5sZW5ndGgpewoJCQkJCQlpZihpJTIgPT0gMCl7CgkJCQkJCQljdXJyY2hhciA9IGJhc2VzdHIuY2hhckF0KGkpOwoJCQkJCQkJY3VycmNoYXIgPSBjdXJyY2hhci5jaGFyQ29kZUF0KDApOwoJCQkJCQkJdmFyIGJpbmludCA9IGN1cnJjaGFyLnRvU3RyaW5nKDIpOwoJCQkJCQkJdmFyIG1vZGludCA9IGJpbmludCAlIDI2OwoJCQkJCQkJbWlkbHN0W2ldID0gKCgoYWxwaGFiZXRbbW9kaW50XS5jaGFyQ29kZUF0KDApKSpjdXJyY2hhciklMTI3KTsKCQkJCQkJCQoJCQkJCQl9CgkJCQkJCWVsc2V7CgkJCQkJCQljdXJyY2hhciA9IGJhc2VzdHJbaV0uY2hhckNvZGVBdCgwKTsKCQkJCQkJCW1pZGxzdFtpXSA9ICgoKGFscGhhYmV0W2N1cnJjaGFyJTI2XS5jaGFyQ29kZUF0KDApKSpjdXJyY2hhciklMTI3KTsKCQkJCQkJfQoJCQkJCQlpKys7CgkJCQkJfQoJCQkJCWZvcihudW0gaW4gbWlkbHN0KXsKCQkJCQkJbWlkbHN0W251bV0gPSBtaWRsc3RbbnVtXS50b1N0cmluZygyKTsKCQkJCQkJZmluYWxzdC5wdXNoKG1pZGxzdFtudW1dKTsKCQkJCQl9CgkJCQkJdmFyIG1heGxlbiA9IDA7CgkJCQkJZm9yKG51bSBpbiBmaW5hbHN0KXsKCQkJCQkJaWYoZmluYWxzdFtudW1dLnRvU3RyaW5nKCkubGVuZ3RoID4gbWF4bGVuKXsKCQkJCQkJCW1heGxlbiA9IGZpbmFsc3RbbnVtXS50b1N0cmluZygpLmxlbmd0aDsKCQkJCQkJfQoJCQkJCX0KCQkJCQlpID0gMDsKCQkJCQl3aGlsZShpIDwgbWF4bGVuKXsKCQkJCQkJZm9yKGJpbm51bSBpbiBmaW5hbHN0KXsKCQkJCQkJCWlmKGZpbmFsc3RbYmlubnVtXS50b1N0cmluZygpLmxlbmd0aCA+IGkpewoJCQkJCQkJCWFic2ZpbmFsLnB1c2goZmluYWxzdFtiaW5udW1dLnRvU3RyaW5nKCkuY2hhckF0KGkpKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlpKys7CgkJCQkJfQoJCQkJCQoJCQkJCWlmIChhYnNmaW5hbC5qb2luKCIiKSA9PSBmaW5hbHN0cikgewoJCQkJCQlwcmludChwYXNzd29yZCk7CgkJCQkJfQoJCgkJCQkJZSsrOwoJCQkJfQoJCQkJZCsrOwoJCQl9CgkJCWMrKzsKCQl9CgkJYisrOwoJfQoJYSsrOwp9