#include <bits/stdc++.h>
using namespace std;
function<void(void)> ____ = []() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
};
const int MOD = (int)1e9 + 7;
const int inv2 = (MOD + 1) / 2;
struct Matrix {
  int mat[2][2];
  Matrix(int x) {
    mat[0][0] = mat[1][1] = x;
    mat[1][0] = mat[0][1] = 0;
  }
  int* operator[](int I) { return mat[I]; }
  Matrix operator*(Matrix rhs) {
    Matrix ret(0);
    for (int i = 0; i < 2; i++)
      for (int j = 0; j < 2; j++)
        for (int k = 0; k < 2; k++)
          ret[i][j] = (ret[i][j] + 1ll * mat[i][k] * rhs[k][j]) % MOD;
    return ret;
  }
  Matrix operator^(long long b) {
    Matrix ret(1), a(*this);
    for (; b; b >>= 1, a = a * a)
      if (b & 1) ret = ret * a;
    return ret;
  }
};
int ksm(int a, long long b) {
  int ret = 1;
  for (; b; b >>= 1, a = 1ll * a * a % MOD)
    if (b & 1) ret = 1ll * ret * a % MOD;
  return ret;
}
void solve() {
  int n;
  scanf("%d", &n);
  Matrix den(0);
  den[0][1] = 2;
  den[1][0] = den[1][1] = 1;
  int num = 2;
  for (int i = 1; i <= n; i++) {
    long long x;
    scanf("%lld", &x);
    num = ksm(num, x);
    den = den ^ x;
  }
  num = 1ll * num * inv2 % MOD;
  Matrix inv(0);
  inv[0][0] = MOD - inv2;
  inv[0][1] = 1;
  inv[1][0] = inv2;
  den = den * inv;
  cout << den[1][0] << "/" << num << endl;
}
int main() {
  solve();
  return 0;
}
