#include #include using namespace std; int n, R, nr[100]; string sol; string ToString(int x) { string rez, rez2; rez.clear(); rez2.clear(); if(x == 0) { rez += "0"; return rez; } while(x) { rez += (char)(x % 10 + '0'); x /= 10; } int i; for(i = rez.size() - 1; i >= 0; --i) rez2 += rez[i]; return rez2; } int main() { int i,x, d; cin >> n >> R; sol.clear(); if(n == 4) { sol += "1"; cout << sol << "\n"; return 0; } sol += "("; for(i = 2; i <= n; ++i) { x = i; while(x % 2 == 0) { x /= 2; nr[2]++; } d = 3; while(x > 1) { while(x % d == 0) { x /= d; nr[d]++; } d += 2; } } n /= 4; for(i = 2; i <= n; ++i) { x = i; while(x % 2 == 0) { x /= 2; nr[2]--; } d = 3; while(x > 1) { while(x % d == 0) { x /= d; nr[d]--; } d += 2; } } nr[2] -= (3 * n); nr[3] -= n; d = 1; while(d < 100 && nr[d] == 0) d++; sol += ToString(d); sol += "^"; sol += ToString(nr[d]); d++; while(d < 100) { if(nr[d] == 0) { d++; continue; } sol += "*"; sol += ToString(d); sol += "^"; sol += ToString(nr[d]); d++; } sol += ")^"; sol += ToString(R); cout << sol << "\n"; return 0; }