#include <stdio.h>
int func(int x, int y, int z) {
static int call_count=0;
if(x==0 && y==0 && z==0) {
return call_count;
}
call_count++;
int basex=1;
int basey=1;
for (int i=0;i<z;i++) {
basex*=x;
basey*=y;
}
return basex+basey;
}
int main(void) {
printf("%d\n", func
(2, 3, 2)); printf("%d\n", func
(1, 5, 3)); printf("%d\n", func
(0, 0, 0)); printf("%d\n", func
(3, 2, 1)); printf("%d\n", func
(0, 0, 0)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZnVuYyhpbnQgeCwgaW50IHksIGludCB6KSB7CiAgICBzdGF0aWMgaW50IGNhbGxfY291bnQ9MDsKCiAgICBpZih4PT0wICYmIHk9PTAgJiYgej09MCkgewogICAgICAgIHJldHVybiBjYWxsX2NvdW50OwogICAgfQoKICAgIGNhbGxfY291bnQrKzsKCiAgICBpbnQgYmFzZXg9MTsKICAgIGludCBiYXNleT0xOwogICAgZm9yIChpbnQgaT0wO2k8ejtpKyspIHsKICAgICAgICBiYXNleCo9eDsKICAgICAgICBiYXNleSo9eTsKICAgIH0KCiAgICByZXR1cm4gYmFzZXgrYmFzZXk7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIHByaW50ZigiJWRcbiIsIGZ1bmMoMiwgMywgMikpOwogICAgcHJpbnRmKCIlZFxuIiwgZnVuYygxLCA1LCAzKSk7CiAgICBwcmludGYoIiVkXG4iLCBmdW5jKDAsIDAsIDApKTsKICAgIHByaW50ZigiJWRcbiIsIGZ1bmMoMywgMiwgMSkpOwogICAgcHJpbnRmKCIlZFxuIiwgZnVuYygwLCAwLCAwKSk7CiAgICByZXR1cm4gMDsKfQo=