#include <stdio.h>
typedef int f_foo(int);
f_foo foo_runonce;
f_foo foo_runonce_done;
f_foo * foo = foo_runonce;
int main(void) {
int i;
i = 0;
i += foo(42);
i += foo(13);
i += foo(4);
return 0;
}
int foo_runonce(int x) {
foo = foo_runonce_done;
return foo(x);
}
int foo_runonce_done(int x) {
return x;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIGludCBmX2ZvbyhpbnQpOwoKZl9mb28gZm9vX3J1bm9uY2U7CmZfZm9vIGZvb19ydW5vbmNlX2RvbmU7CmZfZm9vICogZm9vID0gZm9vX3J1bm9uY2U7CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgaTsKICAgIAogICAgaSA9IDA7CiAgICBpICs9IGZvbyg0Mik7CiAgICBpICs9IGZvbygxMyk7CiAgICBpICs9IGZvbyg0KTsKICAgIHByaW50ZigiVG90YWw6ICVkXG4iLCBpKTsKICAgIHJldHVybiAwOwp9CgppbnQgZm9vX3J1bm9uY2UoaW50IHgpIHsKICAgIHByaW50ZigiUnVuLW9uY2UgZG9uZSFcbiIpOwogICAgZm9vID0gZm9vX3J1bm9uY2VfZG9uZTsKICAgIHJldHVybiBmb28oeCk7Cn0KCmludCBmb29fcnVub25jZV9kb25lKGludCB4KSB7CiAgICBwcmludGYoIiVkXG4iLCB4KTsKICAgIHJldHVybiB4Owp9