/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
int i = 0;
int longestStart = 0;
int longestEnd = 0;
while (i < s.length()) {
// Skip past all the digits.
while (i
< s.
length() && Character.
isDigit(s.
charAt(i
))) { ++i;
}
// i now points to the start of a substring
// or one past the end of the string.
int start = i;
// Keep a flag to record if there is an uppercase character.
boolean hasUppercase = false;
// Increment i until you hit another digit or the end of the string.
while (i
< s.
length() && !Character.
isDigit(s.
charAt(i
))) { hasUppercase
|= Character.
isUpperCase(s.
charAt(i
)); ++i;
}
// Check if this is longer than the longest so far.
if (hasUppercase && i - start > longestEnd - longestStart) {
longestEnd = i;
longestStart = start;
}
}
return s.substring(longestStart, longestEnd);
}
{
System.
out.
println(longest
("a0Ba")); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyBTdHJpbmcgbG9uZ2VzdChTdHJpbmcgcykgewogICAgaW50IGkgPSAwOwogICAgaW50IGxvbmdlc3RTdGFydCA9IDA7CiAgICBpbnQgbG9uZ2VzdEVuZCA9IDA7CiAgICB3aGlsZSAoaSA8IHMubGVuZ3RoKCkpIHsKICAgICAgLy8gU2tpcCBwYXN0IGFsbCB0aGUgZGlnaXRzLgogICAgICB3aGlsZSAoaSA8IHMubGVuZ3RoKCkgJiYgQ2hhcmFjdGVyLmlzRGlnaXQocy5jaGFyQXQoaSkpKSB7CiAgICAgICAgKytpOwogICAgICB9CgogICAgICAvLyBpIG5vdyBwb2ludHMgdG8gdGhlIHN0YXJ0IG9mIGEgc3Vic3RyaW5nCiAgICAgIC8vIG9yIG9uZSBwYXN0IHRoZSBlbmQgb2YgdGhlIHN0cmluZy4KICAgICAgaW50IHN0YXJ0ID0gaTsKCiAgICAgIC8vIEtlZXAgYSBmbGFnIHRvIHJlY29yZCBpZiB0aGVyZSBpcyBhbiB1cHBlcmNhc2UgY2hhcmFjdGVyLgogICAgICBib29sZWFuIGhhc1VwcGVyY2FzZSA9IGZhbHNlOwoKICAgICAgLy8gSW5jcmVtZW50IGkgdW50aWwgeW91IGhpdCBhbm90aGVyIGRpZ2l0IG9yIHRoZSBlbmQgb2YgdGhlIHN0cmluZy4KICAgICAgd2hpbGUgKGkgPCBzLmxlbmd0aCgpICYmICFDaGFyYWN0ZXIuaXNEaWdpdChzLmNoYXJBdChpKSkpIHsKICAgICAgICBoYXNVcHBlcmNhc2UgfD0gQ2hhcmFjdGVyLmlzVXBwZXJDYXNlKHMuY2hhckF0KGkpKTsKICAgICAgICArK2k7CiAgICAgIH0KCiAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgbG9uZ2VyIHRoYW4gdGhlIGxvbmdlc3Qgc28gZmFyLgogICAgICBpZiAoaGFzVXBwZXJjYXNlICYmIGkgLSBzdGFydCA+IGxvbmdlc3RFbmQgLSBsb25nZXN0U3RhcnQpIHsKICAgICAgICBsb25nZXN0RW5kID0gaTsKICAgICAgICBsb25nZXN0U3RhcnQgPSBzdGFydDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHMuc3Vic3RyaW5nKGxvbmdlc3RTdGFydCwgbG9uZ2VzdEVuZCk7Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTeXN0ZW0ub3V0LnByaW50bG4obG9uZ2VzdCgiYTBCYSIpKTsKCX0KfQ==