import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
{
"abc;erga_sd,cde;dfgef,g;4",
"g;4,abc;dsfaweg",
"cde;df_ger",
"g;4",
"abc;dsfg,dfvser"
};
String regex
= "^(?:(?:abc|cde);[a-z_]+|g;4)(?:,(?:(?:abc|cde);[a-z_]+|g;4))*$"; Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
if (matcher.matches()) {
System.
out.
printf("Match for %s%n", s
); } else {
System.
out.
printf("No match for %s%n", s
); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZ1tdIHN0cmluZ3MgPSB7IAoJCSAgICAgICAgImFiYztlcmdhX3NkLGNkZTtkZmdlZixnOzQiLAoJCSAgICAgICAgImc7NCxhYmM7ZHNmYXdlZyIsCgkJICAgICAgICAiY2RlO2RmX2dlciIsCgkJICAgICAgICAiZzs0IiwKCQkgICAgICAgICJhYmM7ZHNmZyxkZnZzZXIiCgkJfTsKCQkKCQlTdHJpbmcgcmVnZXggPSAiXig/Oig/OmFiY3xjZGUpO1thLXpfXSt8Zzs0KSg/OiwoPzooPzphYmN8Y2RlKTtbYS16X10rfGc7NCkpKiQiOwoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShyZWdleCk7CgkJCgkJZm9yIChTdHJpbmcgcyA6IHN0cmluZ3MpIHsKCQkgICAgTWF0Y2hlciBtYXRjaGVyID0gcGF0dGVybi5tYXRjaGVyKHMpOwoJCSAgICBpZiAobWF0Y2hlci5tYXRjaGVzKCkpIHsKCQkgICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCJNYXRjaCBmb3IgJXMlbiIsIHMpOwoJCSAgICB9IGVsc2UgewoJCSAgICAgICAgU3lzdGVtLm91dC5wcmludGYoIk5vIG1hdGNoIGZvciAlcyVuIiwgcyk7CgkJICAgIH0KCQl9Cgl9Cn0=