#include <bits/stdc++.h>
using namespace std;
template <typename T>
ostream& operator<<(ostream& s, vector<T>& v) {
  s << '{';
  for (int i = 0; i < int(v.size()); i++) s << (i ? "," : "") << v[i];
  return s << '}';
}
template <typename S, typename T>
ostream& operator<<(ostream& s, pair<S, T> const& p) {
  return s << '(' << p.first << ',' << p.second << ')';
}
const long long INV2 = 500000004;
const long long INV3 = 333333336;
const long long MOD = 1000000007;
long long modexp(long long x, long long n) {
  long long result = 1;
  while (n) {
    if (n % 2) {
      result = (result * x) % MOD;
      n--;
    }
    x = (x * x) % MOD;
    n /= 2;
  }
  return result;
}
int main() {
  int K;
  bool even = false;
  scanf("%d", &K);
  long long sm = 2;
  for (int k = 0; k < int(K); k++) {
    long long a;
    scanf("%lld", &a);
    if (a % 2 == 0) even = true;
    sm = modexp(sm, a);
  }
  sm = (sm * INV2) % MOD;
  long long denom = (sm + MOD) % MOD;
  if (even)
    sm++;
  else
    sm--;
  sm = (sm * INV3) % MOD;
  sm = (sm + MOD) % MOD;
  printf("%lld/%lld\n", sm, denom);
}
