Zakres liczb to 1<= a,b <=1 000 000 000, Takich liczb int nie pomieści, a tym bardziej nie 1 000 000 000^1 000 000 000, poza tym liczenie takich liczb po wcześniejszym zaimplementowaniu odpowiedniego typu zajęłoby dla komputera baaardzo dużo czasu. Zadanie jest proste jak drut, można je rozwiązać przy pomocy jednej operacji modulo i jednego switch... case. Więcej nie mogę podpowiedzieć :)