/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void teste
(String s
) {
Pattern pattAlphaNum = Pattern.compile("[A-Z|a-z|\\d+]");
Pattern pattAlpha = Pattern.compile("[A-Z|a-z]");
Pattern pattNum = Pattern.compile("[\\d+]");
Matcher matchAlphaNum;
Matcher matchAlpha;
Matcher matchNum;
matchAlphaNum = pattAlphaNum.matcher(s);
matchAlpha = pattAlpha.matcher(s);
matchNum = pattNum.matcher(s);
System.
out.
printf(matchAlphaNum.
find()+"\t\t"); System.
out.
printf(matchNum.
find()+"\t\t"); System.
out.
printf(matchAlpha.
find()+"\t\t"); }
{
System.
out.
println("AlphaNum\tNum\t\t\tAlpha"); teste("20");
teste("a");
teste("2a");
teste("11");
teste("1");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwogCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKIAovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCB0ZXN0ZShTdHJpbmcgcykKICAgIHsKICAgICAgICBQYXR0ZXJuIHBhdHRBbHBoYU51bSA9IFBhdHRlcm4uY29tcGlsZSgiW0EtWnxhLXp8XFxkK10iKTsKICAgICAgICBQYXR0ZXJuIHBhdHRBbHBoYSA9IFBhdHRlcm4uY29tcGlsZSgiW0EtWnxhLXpdIik7CiAgICAgICAgUGF0dGVybiBwYXR0TnVtID0gUGF0dGVybi5jb21waWxlKCJbXFxkK10iKTsKIAogICAgICAgIE1hdGNoZXIgbWF0Y2hBbHBoYU51bTsKICAgICAgICBNYXRjaGVyIG1hdGNoQWxwaGE7CiAgICAgICAgTWF0Y2hlciBtYXRjaE51bTsKIAogICAgICAgIG1hdGNoQWxwaGFOdW0gPSBwYXR0QWxwaGFOdW0ubWF0Y2hlcihzKTsKICAgICAgICBtYXRjaEFscGhhID0gcGF0dEFscGhhLm1hdGNoZXIocyk7CiAgICAgICAgbWF0Y2hOdW0gPSBwYXR0TnVtLm1hdGNoZXIocyk7CiAKIAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKG1hdGNoQWxwaGFOdW0uZmluZCgpKyJcdFx0Iik7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGYobWF0Y2hOdW0uZmluZCgpKyJcdFx0Iik7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGYobWF0Y2hBbHBoYS5maW5kKCkrIlx0XHQiKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIH0KIAoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3lzdGVtLm91dC5wcmludGxuKCJBbHBoYU51bVx0TnVtXHRcdFx0QWxwaGEiKTsKICAgICAgICB0ZXN0ZSgiMjAiKTsKICAgICAgICB0ZXN0ZSgiYSIpOwogICAgICAgIHRlc3RlKCIyYSIpOwogICAgICAgIHRlc3RlKCIxMSIpOwogICAgICAgIHRlc3RlKCIxIik7Cgl9Cn0=