#include <bits/stdc++.h>
using namespace std;
long long a[3][3], b[3][3], temp[3][3], mat[3][3], id[3][3];
void mul(int n) {
  memset(temp, 0, sizeof temp);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
      for (int k = 0; k < n; k++)
        temp[i][j] += a[i][k] * b[k][j], temp[i][j] %= 1000000007ll;
  return;
}
void bigmat(int n, long long p) {
  if (!p) {
    for (int i = 0; i < n; i++)
      for (int j = 0; j < n; j++) temp[i][j] = id[i][j];
    return;
  }
  bigmat(n, p / 2);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) a[i][j] = temp[i][j], b[i][j] = temp[i][j];
  mul(n);
  if (p & 1ll) {
    for (int i = 0; i < n; i++)
      for (int j = 0; j < n; j++) a[i][j] = temp[i][j], b[i][j] = mat[i][j];
    mul(n);
  }
  return;
}
long long bigmod(long long b, long long p) {
  if (!p) return 1ll;
  long long ret = bigmod(b, p / 2);
  ret = (ret * ret) % 1000000007ll;
  if (p & 1ll) ret = (ret * (b) % 1000000007ll) % 1000000007ll;
  return ret;
}
int main() {
  for (int i = 0; i < 3; i++) id[i][i] = 1;
  mat[0][0] = 1, mat[0][1] = 1, mat[0][2] = 0;
  mat[1][0] = 1, mat[1][1] = 0, mat[1][2] = 1;
  mat[2][0] = 0, mat[2][1] = 1, mat[2][2] = 1;
  int k;
  long long n = 1ll, x;
  scanf("%d", &k);
  while (k--) {
    scanf("%lld", &x);
    n = ((x % (1000000007ll - 1)) * n) % (1000000007ll - 1);
  }
  bigmat(3, n);
  long long nume = temp[1][1];
  long long deno = (temp[1][0] + temp[1][1] + temp[1][2]) % 1000000007ll;
  nume = (nume * bigmod(2, 1000000007ll - 2)) % 1000000007ll;
  deno = (deno * bigmod(2, 1000000007ll - 2)) % 1000000007ll;
  printf("%lld/%lld\n", nume, deno);
  return 0;
}
