#include <bits/stdc++.h>
using namespace std;
const int MaxN = 1e5 + 10;
const int MOD = 1e9 + 7;
const int INF = 1e9;
int n, k;
long long a[MaxN];
int inv(int x) {
  return x == 1 ? 1 : 1LL * (MOD - MOD / x) * inv(MOD % x) % MOD;
}
int mPow(int a, long long n) {
  if (a < 0) {
    if (n & 1) {
      return -1;
    }
    return 1;
  }
  long long r = 1;
  while (n > 0) {
    if (n & 1) {
      r = r * a % MOD;
    }
    a = 1LL * a * a % MOD;
    n /= 2;
  }
  return r;
}
bool odd = true;
int getNth(long long n) {
  return 1LL * (0LL + MOD + mPow(2, n) - (!odd ? -1 : 1)) * inv(3) % MOD;
}
int main() {
  scanf("%d", &k);
  odd = true;
  int mul = 1;
  for (int i = 1; i <= k; ++i) {
    scanf("%lld", &a[i]);
    mul = 1LL * mul * (a[i] % (MOD - 1)) % (MOD - 1);
    odd &= a[i] % 2 == 1;
  }
  if (!mul) mul = MOD - 1;
  cout << getNth(mul - 1) << '/' << mPow(2, mul - 1) << '\n';
  return 0;
}
