#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;
}