/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Nested<A> {
public A left;
public Nested<List<A>> right;
public Nested(A l, Nested<List<A>> r) {
left = l;
right = r;
}
}
class Ideone
{
static <A> int length(Nested<A> xs) {
if (xs == null) {
return 0;
} else {
return 1 + length(xs.right);
}
}
{
List
<Integer
> l234
= Arrays.
asList(2,
3,
4); List
<Integer
> l56
= Arrays.
asList(5,
6); List
<Integer
> l7
= Arrays.
asList(7); List
<List
<Integer
>> l567
= Arrays.
asList(l56, l7
); Nested<Integer> nested =
new Nested(
1,
new Nested(
l234,
new Nested(
l567,
null
)
)
);
System.
out.
println(length
(nested
)); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBOZXN0ZWQ8QT4gewoJcHVibGljIEEgbGVmdDsKCXB1YmxpYyBOZXN0ZWQ8TGlzdDxBPj4gcmlnaHQ7CglwdWJsaWMgTmVzdGVkKEEgbCwgTmVzdGVkPExpc3Q8QT4+IHIpIHsKCQlsZWZ0ID0gbDsKCQlyaWdodCA9IHI7Cgl9Cn0KCmNsYXNzIElkZW9uZQp7CglzdGF0aWMgPEE+IGludCBsZW5ndGgoTmVzdGVkPEE+IHhzKSB7CgkJaWYgKHhzID09IG51bGwpIHsKCQkJcmV0dXJuIDA7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIDEgKyBsZW5ndGgoeHMucmlnaHQpOwoJCX0KCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUxpc3Q8SW50ZWdlcj4gbDIzNCA9IEFycmF5cy5hc0xpc3QoMiwgMywgNCk7CgkJTGlzdDxJbnRlZ2VyPiBsNTYgPSBBcnJheXMuYXNMaXN0KDUsIDYpOwoJCUxpc3Q8SW50ZWdlcj4gbDcgPSBBcnJheXMuYXNMaXN0KDcpOwoJCUxpc3Q8TGlzdDxJbnRlZ2VyPj4gbDU2NyA9IEFycmF5cy5hc0xpc3QobDU2LCBsNyk7CgkJTmVzdGVkPEludGVnZXI+IG5lc3RlZCA9CgkJCW5ldyBOZXN0ZWQoCgkJCQkxLAoJCQkJbmV3IE5lc3RlZCgKCQkJCQlsMjM0LAoJCQkJCW5ldyBOZXN0ZWQoCgkJCQkJCWw1NjcsCgkJCQkJCW51bGwKCQkJCQkpCgkJCQkpCgkJCSk7CgkJU3lzdGVtLm91dC5wcmludGxuKGxlbmd0aChuZXN0ZWQpKTsKCX0KfQ==