#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
struct mtr {
  long long m[2][2];
  mtr operator*(const mtr &b) const {
    mtr ans;
    for (long long i = 0; i < 2; i++) {
      for (long long j = 0; j < 2; j++) {
        long long s = 0;
        for (long long k = 0; k < 2; k++)
          s = (s + (m[i][k] * b.m[k][j]) % MOD) % MOD;
        ans.m[i][j] = s;
      }
    }
    return ans;
  }
} mtri;
mtr powmod(mtr b, long long e) {
  if (e == 0) return mtri;
  if (e % 2 == 1) return powmod(b, e - 1) * b;
  mtr aux = powmod(b, e / 2);
  return aux * aux;
}
long long powmod(long long b, long long e) {
  if (e == 0) return 1;
  if (e % 2) return powmod(b, e - 1) * b % MOD;
  long long aux = powmod(b, e / 2);
  return aux * aux % MOD;
}
signed main() {
  mtri.m[0][0] = 1, mtri.m[1][1] = 1;
  mtri.m[0][1] = 0, mtri.m[1][0] = 0;
  long long k;
  scanf("%lld", &k);
  mtr a, b;
  a.m[0][0] = a.m[1][0] = 1, a.m[0][1] = 2, a.m[1][1] = 0;
  long long y = 2;
  for (long long i = 0, x; i < k; i++)
    scanf("%lld", &x), a = powmod(a, x), y = powmod(y, x);
  long long inver = powmod(2, MOD - 2);
  y = y * inver % MOD;
  printf("%lld/%lld", (y - a.m[1][0] + MOD) % MOD, y);
}
