#include <bits/stdc++.h>
#pragma comment(linker, "/stack:16777216")
using namespace std;
const int INF = 1000000000;
const int BASE = 1000000007;
const int MAX = 100007;
const int MAXV = 1200;
const int MAXE = 100000;
const int ADD = 1000000;
const int MOD = 1000000007;
long long bpow(long long a, long long k) {
  long long res = 1;
  a %= MOD;
  while (k) {
    if (k & 1) {
      res *= a;
      res %= MOD;
    }
    a *= a;
    a %= MOD;
    k /= 2;
  }
  return res;
}
int main() {
  int k;
  cin >> k;
  long long q = 2;
  bool ones = 1;
  bool even = 1;
  long long MOD2 = (MOD - 1) * 2;
  long long pwp = 1;
  for (int i = (0); i < (k); i++) {
    long long x;
    scanf("%I64d", &x);
    if (x != 1) ones = 0;
    if (x % 2 == 0 && even) {
      even = 0;
      pwp *= (x / 2) % MOD2;
      pwp %= MOD2;
    } else {
      pwp *= x % MOD2;
      pwp %= MOD2;
    }
    q = bpow(q, x);
  }
  if (even) {
    pwp--;
    pwp /= 2;
  }
  long long p;
  if (!even) {
    p = (bpow(4, pwp) + 2) % MOD;
    p *= bpow(6, MOD - 2);
    p %= MOD;
  } else {
    p = (bpow(4, pwp) - 1 + MOD) % MOD;
    p *= bpow(3, MOD - 2);
    p %= MOD;
  }
  q *= (MOD + 1) / 2;
  q %= MOD;
  if (ones) {
    cout << "0/1" << endl;
    return 0;
  }
  cout << p << '/' << q << endl;
  return 0;
}
