#include <bits/stdc++.h>
using namespace std;
const int N = 100100;
const int M = 1000000007;
long long k, a[N];
long long mpow(long long a, long long b) {
  if (b == 0) {
    return 1;
  } else if (b % 2 == 0) {
    long long q = mpow(a, b / 2);
    return q * q % M;
  } else {
    return a * mpow(a, b - 1) % M;
  }
}
int main() {
  if (fopen("C.in", "r")) freopen("C.in", "r", stdin);
  cin >> k;
  bool odd = 1;
  bool mo = 1;
  for (int i = 0; i < k; i++) {
    scanf("%I64d", a + i);
    if (a[i] % 2 == 0) {
      odd = 0;
    }
  }
  long long inv2 = mpow(2, M - 2);
  long long inv3 = mpow(3, M - 2);
  if (odd) {
    long long num = 2;
    for (int i = 0; i < k; i++) {
      num = mpow(num, a[i]);
    }
    long long den = num;
    num = (num - 2 + M) % M;
    num = num * inv3 % M;
    num = num * inv2 % M;
    den = den * inv2 % M;
    cout << num << "/" << den;
  } else {
    long long num = 2;
    for (int i = 0; i < k; i++) {
      num = mpow(num, a[i]);
    }
    long long den = num;
    num = (num + 2 + M) % M;
    num = num * inv3 % M;
    num = (num * inv2) % M;
    den = (den * inv2) % M;
    cout << num << "/" << den;
  }
  return 0;
}
