#include <bits/stdc++.h>
using namespace std;
void calculate_power(vector <int> &a, int x, int y) //caculate x^y and store the result in a
{
int copy = x;
int m = 0;
while(copy > 0)
{
a.push_back(copy % 10);
copy = copy/10;
m++;
}
long long carry=0;
for(int loop = 1; loop < y; loop++)
{
for(int j = 0; j < m; j++)
{
long long prod=a[j]*x + carry;
a[j] = prod % 10;
carry = prod / 10;
}
while(carry)
{
a.push_back(carry%10);
carry = carry/10;
m++;
}
}
}
void subtract(vector <int> &a, vector <int> &b) // subtract the two array
{
vector <int> c;
while(b.size() != a.size())
b.push_back(0);
/*for(int i = 0; i < a.size(); i++)
cout << a[a.size() - i - 1];
cout << endl;
for(int i = 0; i < b.size(); i++)
cout << b[b.size() - i - 1];
cout << endl;*/
for(int i = 0; i < a.size(); i++)
{
if(a[i] >= b[i])
c.push_back(a[i] - b[i]);
else
{
a[i] = a[i]+10;
c.push_back(a[i] - b[i]);
int temp = 1;
while(true)
{
if(a[i + temp] >= 0 and (i + temp) < a.size())
{
a[i + temp]--;
break;
}
else
temp++;
}
}
}
int temp = c.size() - 1;
while(c[temp] == 0 and temp >= 1)
temp --;
for(; temp >= 0; temp--)
cout << c[temp];
cout << endl;
}
int main()
{
ios_base :: sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector <int> a; // stores a^b
vector <int> b; // stores b^a
int x, y;
cin >> x;
cin >> y;
calculate_power(a, x, y);
calculate_power(b, y, x);
if(x == 0 and y == 0)
{
cout << 0 << endl;
return 0;
}
else if(y == 0)
{
cout << "1" << endl;
return 0;
}
else if(x == 0)
{
cout << "-1" << endl;
return 0;
}
// subtract array
if(a.size() < b.size())
{
cout << "-";
subtract(b, a);
}
else if(a.size() == b.size())
{
int check = 1;
for(int i = a.size() - 1; i >= 0; i--)
if(a[i] > b[i])
{
check = 0;
subtract(a, b);
break;
}
else if(a[i] < b[i])
{
check = 0;
cout << "-";
subtract(b, a);
break;
}
if(check)
subtract(a, b);
}
else
subtract(a, b);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKdm9pZCBjYWxjdWxhdGVfcG93ZXIodmVjdG9yIDxpbnQ+ICZhLCBpbnQgeCwgaW50IHkpICAgICAvL2NhY3VsYXRlIHheeSBhbmQgc3RvcmUgdGhlIHJlc3VsdCBpbiBhCnsKICAgIGludCBjb3B5ID0geDsKICAgIGludCBtID0gMDsKICAgIHdoaWxlKGNvcHkgPiAwKQogICAgewogICAgICAgIGEucHVzaF9iYWNrKGNvcHkgJSAxMCk7CiAgICAgICAgY29weSA9IGNvcHkvMTA7CiAgICAgICAgbSsrOwogICAgfQogICAgbG9uZyBsb25nIGNhcnJ5PTA7CiAgICAKICAgIGZvcihpbnQgbG9vcCA9IDE7IGxvb3AgPCB5OyBsb29wKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IG07IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGxvbmcgbG9uZyBwcm9kPWFbal0qeCArIGNhcnJ5OwogICAgICAgICAgICBhW2pdID0gcHJvZCAlIDEwOwogICAgICAgICAgICBjYXJyeSA9IHByb2QgLyAxMDsKICAgICAgICB9CiAgICAgICAgd2hpbGUoY2FycnkpCiAgICAgICAgewogICAgICAgICAgICBhLnB1c2hfYmFjayhjYXJyeSUxMCk7CiAgICAgICAgICAgIGNhcnJ5ID0gY2FycnkvMTA7CiAgICAgICAgICAgIG0rKzsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc3VidHJhY3QodmVjdG9yIDxpbnQ+ICZhLCB2ZWN0b3IgPGludD4gJmIpICAgICAgICAgICAgIC8vIHN1YnRyYWN0IHRoZSB0d28gYXJyYXkKewogICAgdmVjdG9yIDxpbnQ+IGM7CiAgICB3aGlsZShiLnNpemUoKSAhPSBhLnNpemUoKSkKICAgICAgICBiLnB1c2hfYmFjaygwKTsKICAgICAgICAKICAgIC8qZm9yKGludCBpID0gMDsgaSA8IGEuc2l6ZSgpOyBpKyspCgljb3V0IDw8IGFbYS5zaXplKCkgLSBpIC0gMV07CiAgICBjb3V0IDw8IGVuZGw7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgYi5zaXplKCk7IGkrKykKICAgIGNvdXQgPDwgYltiLnNpemUoKSAtIGkgLSAxXTsKICAgIGNvdXQgPDwgZW5kbDsqLwogICAgCiAgICBmb3IoaW50IGkgPSAwOyBpIDwgYS5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICBpZihhW2ldID49IGJbaV0pCiAgICAgICAgICAgIGMucHVzaF9iYWNrKGFbaV0gLSBiW2ldKTsKICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBhW2ldID0gYVtpXSsxMDsKICAgICAgICAgICAgYy5wdXNoX2JhY2soYVtpXSAtIGJbaV0pOwogICAgICAgICAgICBpbnQgdGVtcCA9IDE7CiAgICAgICAgICAgIHdoaWxlKHRydWUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGFbaSArIHRlbXBdID49IDAgYW5kIChpICsgdGVtcCkgPCBhLnNpemUoKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBhW2kgKyB0ZW1wXS0tOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHRlbXArKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGludCB0ZW1wID0gYy5zaXplKCkgLSAxOwogICAgd2hpbGUoY1t0ZW1wXSA9PSAwIGFuZCB0ZW1wID49IDEpCiAgICAgICAgdGVtcCAtLTsKICAgIGZvcig7IHRlbXAgPj0gMDsgdGVtcC0tKQogICAgICAgIGNvdXQgPDwgY1t0ZW1wXTsKICAgIGNvdXQgPDwgZW5kbDsKfQoKaW50IG1haW4oKQp7CgkKICAgIGlvc19iYXNlIDo6IHN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogICAgY291dC50aWUoTlVMTCk7CiAgICB2ZWN0b3IgPGludD4gYTsgICAgICAgICAgICAgICAgIC8vIHN0b3JlcyBhXmIKICAgIHZlY3RvciA8aW50PiBiOyAgICAgICAgICAgICAgICAgLy8gc3RvcmVzIGJeYQogICAgaW50IHgsIHk7CiAgICBjaW4gPj4geDsKICAgIGNpbiA+PiB5OwogICAgY2FsY3VsYXRlX3Bvd2VyKGEsIHgsIHkpOwogICAgY2FsY3VsYXRlX3Bvd2VyKGIsIHksIHgpOwogICAgCiAgICBpZih4ID09IDAgYW5kIHkgPT0gMCkKICAgIHsKICAgICAgICBjb3V0IDw8IDAgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIGVsc2UgaWYoeSA9PSAwKQogICAgewogICAgICAgIGNvdXQgPDwgIjEiIDw8IGVuZGw7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBlbHNlIGlmKHggPT0gMCkKICAgIHsKICAgICAgICBjb3V0IDw8ICItMSIgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIAogICAgLy8gc3VidHJhY3QgYXJyYXkKICAgIAogICAgaWYoYS5zaXplKCkgPCBiLnNpemUoKSkKICAgIHsKICAgICAgICBjb3V0IDw8ICItIjsKICAgICAgICBzdWJ0cmFjdChiLCBhKTsKICAgIH0KICAgIGVsc2UgaWYoYS5zaXplKCkgPT0gYi5zaXplKCkpCiAgICB7CiAgICAgICAgaW50IGNoZWNrID0gMTsKICAgICAgICBmb3IoaW50IGkgPSBhLnNpemUoKSAtIDE7IGkgPj0gMDsgaS0tKQogICAgICAgICAgICBpZihhW2ldID4gYltpXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hlY2sgPSAwOwogICAgICAgICAgICAgICAgc3VidHJhY3QoYSwgYik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKGFbaV0gPCBiW2ldKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjaGVjayA9IDA7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICItIjsKICAgICAgICAgICAgICAgIHN1YnRyYWN0KGIsIGEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICBpZihjaGVjaykKICAgICAgICAgICAgc3VidHJhY3QoYSwgYik7CiAgICB9CiAgICBlbHNlCiAgICAgICAgc3VidHJhY3QoYSwgYik7CiAgICAKICAgIHJldHVybiAwOwp9CiAgICA=