/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static long nano;
private static Pattern p = Pattern.compile("\\w+(?:\\.\\*)?$");
{
String original
= "testing.asd.five";
// your code goes here
ts();
System.
out.
println(test1
(original
)); te();
ts();
System.
out.
println(test2
(original
)); te();
ts();
System.
out.
println(test3
(original
)); te();
}
private static void ts () {
}
private static void te () {
}
if (s.endsWith(".*")) {
s = s.substring(0, s.length() - 2);
}
int pos = s.lastIndexOf('.') + 1;
return s.substring(0, pos) + '*';
}
return permission.replaceAll("\\w+(?:\\.\\*)?$", "*");
}
return p.matcher(permission).replaceFirst("*");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHJpdmF0ZSBzdGF0aWMgbG9uZyBuYW5vOwoJcHJpdmF0ZSBzdGF0aWMgUGF0dGVybiBwID0gUGF0dGVybi5jb21waWxlKCJcXHcrKD86XFwuXFwqKT8kIik7CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN0cmluZyBvcmlnaW5hbCA9ICJ0ZXN0aW5nLmFzZC5maXZlIjsKCQkKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJdHMoKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKHRlc3QxKG9yaWdpbmFsKSk7CgkJdGUoKTsKCQkKCQl0cygpOwoJCQlTeXN0ZW0ub3V0LnByaW50bG4odGVzdDIob3JpZ2luYWwpKTsKCQl0ZSgpOwoJCQoJCXRzKCk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbih0ZXN0MyhvcmlnaW5hbCkpOwoJCXRlKCk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIHZvaWQgdHMgKCkgewoJCW5hbm8gPSBTeXN0ZW0ubmFub1RpbWUoKTsKCX0KCQoJcHJpdmF0ZSBzdGF0aWMgdm9pZCB0ZSAoKSB7CgkJU3lzdGVtLm91dC5wcmludGxuKCJUaW1lOiAiKyhTeXN0ZW0ubmFub1RpbWUoKS1uYW5vKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCk7Cgl9CgkKCXN0YXRpYyBTdHJpbmcgdGVzdDEoU3RyaW5nIHMpIHsKCSAgICBpZiAocy5lbmRzV2l0aCgiLioiKSkgewoJICAgICAgICBzID0gcy5zdWJzdHJpbmcoMCwgcy5sZW5ndGgoKSAtIDIpOwoJICAgIH0KCSAgICAKCSAgICBpbnQgcG9zID0gcy5sYXN0SW5kZXhPZignLicpICsgMTsKCSAgICByZXR1cm4gcy5zdWJzdHJpbmcoMCwgcG9zKSArICcqJzsKCX0KCQoJcHJvdGVjdGVkIHN0YXRpYyBTdHJpbmcgdGVzdDIgKFN0cmluZyBwZXJtaXNzaW9uKSB7CgkJcmV0dXJuIHBlcm1pc3Npb24ucmVwbGFjZUFsbCgiXFx3Kyg/OlxcLlxcKik/JCIsICIqIik7Cgl9CgkKCXByb3RlY3RlZCBzdGF0aWMgU3RyaW5nIHRlc3QzIChTdHJpbmcgcGVybWlzc2lvbikgewoJCXJldHVybiBwLm1hdGNoZXIocGVybWlzc2lvbikucmVwbGFjZUZpcnN0KCIqIik7Cgl9Cn0=