#include <cmath>
#include <iostream>
using namespace std;
int main() {
const auto x = 13;
auto a = 0.0;
auto b = 1;
if(x == 1) {
a = 2.0;
b = 0;
} else {
while((a = pow(x, 1.0 / ++b)) > 2.0) {
double dummy;
if(modf(a, &dummy) == 0.0) {
break;
}
}
}
if(a >= 2.0) {
cout << a << '^' << b << " = " << x << endl;
} else {
cout << "No such a and b exist\n";
}
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBjb25zdCBhdXRvIHggPSAxMzsKICAgIGF1dG8gYSA9IDAuMDsKICAgIGF1dG8gYiA9IDE7CgogICAgaWYoeCA9PSAxKSB7CiAgICAgICAgYSA9IDIuMDsKICAgICAgICBiID0gMDsKICAgIH0gZWxzZSB7CiAgICAgICAgd2hpbGUoKGEgPSBwb3coeCwgMS4wIC8gKytiKSkgPiAyLjApIHsKICAgICAgICAgICAgZG91YmxlIGR1bW15OwoKICAgICAgICAgICAgaWYobW9kZihhLCAmZHVtbXkpID09IDAuMCkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGlmKGEgPj0gMi4wKSB7CiAgICAgICAgY291dCA8PCBhIDw8ICdeJyA8PCBiIDw8ICIgPSAiIDw8IHggPDwgZW5kbDsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCAiTm8gc3VjaCBhIGFuZCBiIGV4aXN0XG4iOwogICAgfQp9