#include <stdio.h>
#include <math.h>
struct k {
int i;
k(int a){i=a;}
k operator ^(k b) {return k(pow(this->i, b.i));}
};
int main() {
k a(2);
k b(2);
k c(3);
printf("%d\n", (a^b^c).i);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgpzdHJ1Y3QgayB7CglpbnQgaTsKCWsoaW50IGEpe2k9YTt9CglrIG9wZXJhdG9yIF4oayBiKSB7cmV0dXJuIGsocG93KHRoaXMtPmksIGIuaSkpO30KfTsKCgppbnQgbWFpbigpIHsKCWsgYSgyKTsKCWsgYigyKTsKCWsgYygzKTsKCQoJcHJpbnRmKCIlZFxuIiwgKGFeYl5jKS5pKTsKCXJldHVybiAwOwp9