#include<stdio.h>
extern int p;
int f (int *x, int c) {
c = c - 1;
if (c==0) return 1;
*x = *x + 1;
return *x * f(&p,c);
}
int p=5;
int main() {
int res = f(&p,5);
}
I2luY2x1ZGU8c3RkaW8uaD4gIAoKZXh0ZXJuIGludCBwOwoKaW50IGYgKGludCAqeCwgaW50IGMpIHsKYyA9IGMgLSAxOwppZiAoYz09MCkgcmV0dXJuIDE7Cip4ID0gKnggKyAxOwpyZXR1cm4gKnggKiBmKCZwLGMpOwp9CgppbnQgcD01OwoKaW50IG1haW4oKSAgewogICAgaW50IHJlcyA9IGYoJnAsNSk7CiAgICBwcmludGYoIiVkIixyZXMpOwp9ICA=