#include <stdio.h>
int calculatePower(int base, int power){
if(power == 0){
return 1;
}
if(power == 1){
return base;
}
if(power % 2== 0){
return calculatePower(base * base, power / 2);
}else{
return base * calculatePower(base * base, (power - 1)/2);
}
}
int findSum_(int range, int sum, int i){
if(i > range) return sum;
return findSum_(range, sum + calculatePower(i, i), i + 1);
}
int findSum(int range) {
return findSum_(range, 0, 1);
}
main()
{
int calc = 10;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgoKaW50IGNhbGN1bGF0ZVBvd2VyKGludCBiYXNlLCBpbnQgcG93ZXIpewoKICAgIGlmKHBvd2VyID09IDApewoKICAgICAgICByZXR1cm4gMTsKCiAgICB9ICAgCgogICAgaWYocG93ZXIgPT0gMSl7CgogICAgICAgIHJldHVybiBiYXNlOwoKICAgIH0KCiAgICAKCiAgICBpZihwb3dlciAlIDI9PSAwKXsKCiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZVBvd2VyKGJhc2UgKiBiYXNlLCBwb3dlciAvIDIpOwoKICAgIH1lbHNlewoKICAgICAgICByZXR1cm4gYmFzZSAqIGNhbGN1bGF0ZVBvd2VyKGJhc2UgKiBiYXNlLCAocG93ZXIgLSAxKS8yKTsKCiAgICB9Cgp9CgoKaW50IGZpbmRTdW1fKGludCByYW5nZSwgaW50IHN1bSwgaW50IGkpewogICAgaWYoaSA+IHJhbmdlKSByZXR1cm4gc3VtOwoKICAgIHJldHVybiBmaW5kU3VtXyhyYW5nZSwgc3VtICsgY2FsY3VsYXRlUG93ZXIoaSwgaSksIGkgKyAxKTsKfQoKaW50IGZpbmRTdW0oaW50IHJhbmdlKSB7CglyZXR1cm4gZmluZFN1bV8ocmFuZ2UsIDAsIDEpOwp9CgptYWluKCkKCnsKCiAgIGludCBjYWxjID0gMTA7CgogICAKCiAgIHByaW50ZigiJWQiLCBmaW5kU3VtKGNhbGMpKTsKCn0=