/*
class Lambda {
public int intToInt(final int n) { return 0; };
public int objToInt(Lambda fact) { return 0; };
public int objIntToInt(Lambda ft, final int k) { return 0; };
}
*/
(new Lambda() { public int intToInt(final int n) {
return ( new Lambda() { public int objToInt(Lambda fact) {
return fact.objIntToInt(fact, n); }}).objToInt(
new Lambda() { public int objIntToInt(Lambda ft, final int k) {
if (k == 1) return 1;
else return k * ft.objIntToInt(ft, k-1); }}); }}).intToInt(10);