#include <iostream>
#include <string>
using namespace std;
long long C(int n, int k) {
if (k > n / 2) k = n - k;
long long res = 1;
for (int i = 1; i <= k; ++i) res = res * (n - i + 1) / i;
return res;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
string line;
while (getline(cin, line)) {
string s;
for (char c : line) {
if (c != ' ' && c != '\t' && c != '\r') s += c;
}
if (s.empty()) continue;
int p = s.find('+'), r = s.find(')'), c = s.find('^');
if (p == -1 || r == -1 || c == -1) continue;
string v1 = s.substr(1, p - 1);
string v2 = s.substr(p + 1, r - p - 1);
int n = stoi(s.substr(c + 1));
if (!n) {
cout << "1\n";
continue;
}
for (int k = 0; k <= n; ++k) {
long long v = C(n, k);
if (v > 1) cout << v;
if (n - k) {
cout << v1;
if (n - k > 1) cout << "^" << n - k;
}
if (k) {
cout << v2;
if (k > 1) cout << "^" << k;
}
if (k < n) cout << "+";
}
cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBDKGludCBuLCBpbnQgaykgewogICAgaWYgKGsgPiBuIC8gMikgayA9IG4gLSBrOwogICAgbG9uZyBsb25nIHJlcyA9IDE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrOyArK2kpIHJlcyA9IHJlcyAqIChuIC0gaSArIDEpIC8gaTsKICAgIHJldHVybiByZXM7Cn0KCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgCiAgICBjaW4udGllKDApOwogICAgCiAgICBzdHJpbmcgbGluZTsKICAgIHdoaWxlIChnZXRsaW5lKGNpbiwgbGluZSkpIHsKICAgICAgICBzdHJpbmcgczsKICAgICAgICBmb3IgKGNoYXIgYyA6IGxpbmUpIHsKICAgICAgICAgICAgaWYgKGMgIT0gJyAnICYmIGMgIT0gJ1x0JyAmJiBjICE9ICdccicpIHMgKz0gYzsKICAgICAgICB9CiAgICAgICAgaWYgKHMuZW1wdHkoKSkgY29udGludWU7CiAgICAgICAgCiAgICAgICAgaW50IHAgPSBzLmZpbmQoJysnKSwgciA9IHMuZmluZCgnKScpLCBjID0gcy5maW5kKCdeJyk7CiAgICAgICAgaWYgKHAgPT0gLTEgfHwgciA9PSAtMSB8fCBjID09IC0xKSBjb250aW51ZTsKICAgICAgICAKICAgICAgICBzdHJpbmcgdjEgPSBzLnN1YnN0cigxLCBwIC0gMSk7CiAgICAgICAgc3RyaW5nIHYyID0gcy5zdWJzdHIocCArIDEsIHIgLSBwIC0gMSk7CiAgICAgICAgaW50IG4gPSBzdG9pKHMuc3Vic3RyKGMgKyAxKSk7CiAgICAgICAgCiAgICAgICAgaWYgKCFuKSB7IAogICAgICAgICAgICBjb3V0IDw8ICIxXG4iOyAKICAgICAgICAgICAgY29udGludWU7IAogICAgICAgIH0KICAgICAgICAKICAgICAgICBmb3IgKGludCBrID0gMDsgayA8PSBuOyArK2spIHsKICAgICAgICAgICAgbG9uZyBsb25nIHYgPSBDKG4sIGspOwogICAgICAgICAgICBpZiAodiA+IDEpIGNvdXQgPDwgdjsKICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChuIC0gaykgeyAKICAgICAgICAgICAgICAgIGNvdXQgPDwgdjE7IAogICAgICAgICAgICAgICAgaWYgKG4gLSBrID4gMSkgY291dCA8PCAiXiIgPDwgbiAtIGs7IAogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChrKSB7IAogICAgICAgICAgICAgICAgY291dCA8PCB2MjsgCiAgICAgICAgICAgICAgICBpZiAoayA+IDEpIGNvdXQgPDwgIl4iIDw8IGs7IAogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoayA8IG4pIGNvdXQgPDwgIisiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==