#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <map>
#include <algorithm>

#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
using namespace std;

const int INF = 0x3f3f3f3f;
const double EPS = 0.000000001;
const double PI = 3.141592653589793;
const long long LLINF = 99999999999999999LL;
const int MAX_N = 1000002;

int N;
long long A, B, L, T, M;
long long dp[MAX_N], C[70][70];

int main()
{
    /*
    #ifndef ONLINE_JUDGE
        freopen("data.in", "r", stdin);
    #endif
    */

    int R;
    cin >> N >> R;

    C[0][0] = C[1][0] = C[1][1] = 1;
    for(int i = 2; i <= 60; ++i) {
        C[i][0] = 1;
        for(int j = 1; j <= i; ++j) {
            C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
        }
    }

    /*
    dp[0] = 1;
    for(int i = 4; i <= N; i += 4) {
        for(int conf = 1; conf < 16; ++conf) {
            int cnt = 0;
            for(int j = 0; j < 4; ++j) {
                if(conf & (1 << j)) {
                    ++cnt;
                }
            }

            cnt = 4 - cnt;

            dp[i] += dp[i - 4] * C[i - 4][cnt];
        }
    }
    */

    printf("(");

    printf("(");
    for(int i = N; i >= 1; i -= 4) {
        if(i == N) {
            printf("%lld", C[i][4]);
        }
        else {
            printf("*%lld", C[i][4]);
        }
    }
    printf(")");

    printf("/");

    printf("(");
    for(int i = 1; i <= N / 4; ++i) {
        if(i == 1) {
            printf("%d", i);
        }
        else {
            printf("*%d", i);
        }
    }
    printf(")");

    printf(")");
    printf("^%d", R);
    printf("\n");

    return 0;
}