#include <iostream>
using namespace std;
int f() {
return 0;
}
double g( int(*a)() ) {
return (double)a();
}
double(*h(double d))( int(*)() ) {
return g;
}
int main() {
f();
g(f);
h(3.0);
double( * ( * t[3] )( double ) )( int(*)() );
t[0]=h;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGYoKSB7CglyZXR1cm4gMDsKfQoKZG91YmxlIGcoIGludCgqYSkoKSApIHsKCXJldHVybiAoZG91YmxlKWEoKTsKfQoKZG91YmxlKCpoKGRvdWJsZSBkKSkoIGludCgqKSgpICkgewogCXJldHVybiBnOwogfQoKaW50IG1haW4oKSB7CglmKCk7CglnKGYpOwoJaCgzLjApOwoJCglkb3VibGUoICogKCAqIHRbM10gKSggZG91YmxlICkgKSggaW50KCopKCkgKTsKCXRbMF09aDsKCQoJcmV0dXJuIDA7Cn0=