import java.util.*;
import java.lang.*;
class Main
{
public static <T> List<T> init(int n) {
List<T> l = new ArrayList<T>();
while (n --> 0) l.add(null);
return l;
}
public static void main
(String[] args
) { Main m = new Main();
f(Main.<String>init(5)); // works, now init returns a List<String>
f(m.<String>init(5)); // also works, although discouraged since init is static
}
public static void f(List<String> l) {
System.
out.
println("l: " + l
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgPFQ+IExpc3Q8VD4gaW5pdChpbnQgbikgewogICAgICAgIExpc3Q8VD4gbCA9IG5ldyBBcnJheUxpc3Q8VD4oKTsKICAgICAgICB3aGlsZSAobiAtLT4gMCkgbC5hZGQobnVsbCk7CiAgICAgICAgcmV0dXJuIGw7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgTWFpbiBtID0gbmV3IE1haW4oKTsKICAgICAgICBmKE1haW4uPFN0cmluZz5pbml0KDUpKTsgLy8gd29ya3MsIG5vdyBpbml0IHJldHVybnMgYSBMaXN0PFN0cmluZz4KICAgICAgICBmKG0uPFN0cmluZz5pbml0KDUpKTsgLy8gYWxzbyB3b3JrcywgYWx0aG91Z2ggZGlzY291cmFnZWQgc2luY2UgaW5pdCBpcyBzdGF0aWMgCiAgICB9CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgZihMaXN0PFN0cmluZz4gbCkgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigibDogIiArIGwpOwogICAgfQp9