#include <stdio.h>
 
int c = 0; 
int rec(int n) {
    c++;  
    if (n == 1) return 2;
    if (n == 2) return 3;
    return 2 * rec(n - 1) + rec(n - 2);
}
 
int main(void) {
    int n;
 
    for (int i = 1; i <= n; i++) {
        c = 0; 
        int a = rec(i);
        printf("a%d = %d (rec呼び出し回数:%d回)\n", i
, a
, c
);     }
 
    return 0;
}
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgYyA9IDA7IAppbnQgcmVjKGludCBuKSB7CiAgICBjKys7ICAKICAgIGlmIChuID09IDEpIHJldHVybiAyOwogICAgaWYgKG4gPT0gMikgcmV0dXJuIDM7CiAgICByZXR1cm4gMiAqIHJlYyhuIC0gMSkgKyByZWMobiAtIDIpOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbjsKICAgIHNjYW5mKCIlZCIsICZuKTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBjID0gMDsgCiAgICAgICAgaW50IGEgPSByZWMoaSk7CiAgICAgICAgcHJpbnRmKCJhJWQgPSAlZCDvvIhyZWPlkbzjgbPlh7rjgZflm57mlbDvvJolZOWbnu+8iVxuIiwgaSwgYSwgYyk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K