import java.util.List;
import java.util.ArrayList;
class Ideone
{
public static float myAverage(List<Float> elems){
final int N = elems.size(); // For brevity, inline if you wish
return (N == 0) ? 0 : (myAverage(elems.subList(1,N)) * (N-1) + elems.get(0)) / N;
}
{
List<Float> list = new ArrayList<Float>();
list.add(4.0f);
list.add(7.0f);
list.add(12.0f);
list.add(3.0f);
System.
out.
println(myAverage
(list
)); }
}
aW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLkFycmF5TGlzdDsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIGZsb2F0IG15QXZlcmFnZShMaXN0PEZsb2F0PiBlbGVtcyl7CgkgICAgZmluYWwgaW50IE4gPSBlbGVtcy5zaXplKCk7ICAvLyBGb3IgYnJldml0eSwgaW5saW5lIGlmIHlvdSB3aXNoCgkgICAgcmV0dXJuIChOID09IDApID8gMCA6IChteUF2ZXJhZ2UoZWxlbXMuc3ViTGlzdCgxLE4pKSAqIChOLTEpICsgZWxlbXMuZ2V0KDApKSAvIE47Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUxpc3Q8RmxvYXQ+IGxpc3QgPSBuZXcgQXJyYXlMaXN0PEZsb2F0PigpOwoJCWxpc3QuYWRkKDQuMGYpOwoJCWxpc3QuYWRkKDcuMGYpOwoJCWxpc3QuYWRkKDEyLjBmKTsKCQlsaXN0LmFkZCgzLjBmKTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50bG4obXlBdmVyYWdlKGxpc3QpKTsKCX0KfQ==