#include <bits/stdc++.h>
using namespace std;
const long long N = 100001;
const long long mod = 1e9 + 7;
long long n, x = 2, y, tot = 1, a[N], flag = -1;
struct frac {
  long long zi, u;
};
long long read() {
  char c = getchar();
  long long d = 0, f = 1;
  for (; c < '0' || c > '9'; c = getchar())
    if (c == '-') f = -1;
  for (; c >= '0' && c <= '9'; d = d * 10 + c - 48, c = getchar())
    ;
  return d * f;
}
bool cmp(long long a, long long b) { return a > b; }
void print(long long a, long long b) {
  cout << a << "/" << b << endl;
  exit(0);
}
long long quickmi(long long a, long long b) {
  long long s = 1;
  while (b) {
    if (b & 1) s = s * a % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return s;
}
int main() {
  n = read();
  for (int i = 1; i <= n; i++) a[i] = read();
  for (int i = 1; i <= n; i++) {
    x = quickmi(x, a[i]);
    tot = tot * a[i] % (mod - 1);
    if (a[i] % 2 == 0) flag = 1;
  }
  x = x * quickmi(2LL, mod - 2) % mod;
  y = (x + flag + mod) % mod * quickmi(3LL, mod - 2) % mod;
  print(y, x);
}
