import std.stdio: writefln;
int f0a() { writefln("f0a"); return 0; }
int f0b() { writefln("f0b"); return 0; }
int f1() { writefln("f1"); return 1; }
T firstNonZero(T)(T x) {
return x;
}
T firstNonZero(T,U...)(T x, lazy U y) {
if (x)
return x;
return firstNonZero(y);
}
void main() {
writefln(firstNonZero(f0a(), f1(), f0b()));
}