interface Func1 {
    String func(String arg);
}
interface Func2 {
    int func(int arg);
}
interface Func3 {
    String func(int arg);
}
public class Test {
    static void foo(Func1 f) { }
    static void foo(Func2 f) { }
    static void foo(Func3 f) { }
    public static void main(String args[]) {
        foo(x->x);
    }
}
