#include <bits/stdc++.h>
using namespace std;
void func(vector<int>& a, vector<int>& b) {
  int a1 = (a[0] * 1LL * b[0] % 1000000007 + a[1] * 1LL * b[2] % 1000000007) %
           1000000007;
  int a2 = (a[0] * 1LL * b[1] % 1000000007 + a[1] * 1LL * b[3] % 1000000007) %
           1000000007;
  int a3 = (a[2] * 1LL * b[0] % 1000000007 + a[3] * 1LL * b[2] % 1000000007) %
           1000000007;
  int a4 = (a[2] * 1LL * b[1] % 1000000007 + a[3] * 1LL * b[3] % 1000000007) %
           1000000007;
  a[0] = a1;
  a[1] = a2;
  a[2] = a3;
  a[3] = a4;
}
int modpow(int a, int b) {
  int c = 1;
  while (b) {
    if (b & 1) c = 1LL * c * a % 1000000007;
    a = 1LL * a * a % 1000000007;
    b >>= 1;
  }
  return c;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  vector<int> a(4), b(4), c(4), I(4);
  a[0] = 1;
  a[1] = 0;
  a[2] = 0;
  a[3] = 1;
  b[0] = 0;
  b[1] = 2;
  b[2] = 1;
  b[3] = 1;
  c[0] = 0;
  c[1] = 1;
  c[2] = 1;
  c[3] = 1;
  I = a;
  int n1;
  cin >> n1;
  vector<long long int> v(n1);
  for (int i = 0; i < n1; i++) cin >> v[i];
  for (int i = 0; i < n1; i++) {
    long long int n = v[i];
    a = I;
    while (n > 0) {
      if (n & 1) func(a, b);
      n >>= 1;
      func(b, b);
    }
    b = a;
  }
  int mp = 1, p = 2;
  for (int i = 0; i < n1; i++) {
    long long int n = v[i];
    mp = 1;
    while (n > 0) {
      if (n & 1) mp = mp * 1LL * p % 1000000007;
      n >>= 1;
      p = p * 1LL * p % 1000000007;
    }
    p = mp;
  }
  func(c, a);
  int inv = modpow(2, 1000000007 - 2);
  mp = mp * 1LL * inv % 1000000007;
  int imp = ((mp - c[0]) % 1000000007 + 1000000007) % 1000000007;
  cout << imp << "/" << mp << endl;
}
