#include <bits/stdc++.h>
using namespace std;
int n;
long long A[100005];
long long qkpow(long long a, long long b) {
  long long base = a, res = 1;
  while (b) {
    if (b & 1) res *= base, res %= 1000000007;
    base *= base;
    base %= 1000000007;
    b >>= 1;
  }
  return res;
}
int main() {
  cin >> n;
  bool od = 0;
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &A[i]);
    if (A[i] % 2 == 0) od = 1, swap(A[i], A[1]);
  }
  if (od) {
    long long res = qkpow(2, A[1]);
    for (int i = 2; i <= n; i++) {
      res = qkpow(res, A[i]);
    }
    res = res * qkpow(2, 1000000007 - 2) % 1000000007;
    long long b = res;
    res = (res + 1) * qkpow(3, 1000000007 - 2) % 1000000007;
    printf("%I64d/%I64d\n", res, b);
  } else {
    long long res = qkpow(2, A[1]);
    for (int i = 2; i <= n; i++) {
      res = qkpow(res, A[i]);
    }
    res = res * qkpow(2, 1000000007 - 2) % 1000000007;
    long long b = res;
    res = (res - 1) * qkpow(3, 1000000007 - 2) % 1000000007;
    printf("%I64d/%I64d\n", res, b);
  }
  return 0;
}
