#include <bits/stdc++.h>
using namespace std;
const int mxN = 1e5;
int N;
long long nums[mxN + 5];
bool isEven = false;
long long inv(long long a, long long b) {
  return 1 < a ? b - inv(b % a, a) * b / a : 1;
}
long long powmod(long long a, long long b) {
  if (b == 0) return 1;
  long long z = powmod(a, b / 2);
  return (((z * z) % 1000000007) * (b % 2 == 1 ? a : 1)) % 1000000007;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> N;
  for (int i = 1; i <= N; i++) {
    cin >> nums[i];
    if (nums[i] % 2 == 0) isEven = true;
  }
  long long q = 2, p = 2, tmp = 2;
  for (int i = 1; i <= N; i++) {
    long long x = nums[i];
    q = powmod(q, x);
    tmp = powmod(tmp, x);
  }
  q = (q * inv(2, 1000000007)) % 1000000007;
  tmp = (tmp * inv(isEven ? 4 : 2, 1000000007)) % 1000000007;
  long long p2 = (tmp - 1 + 1000000007) % 1000000007;
  p2 = (p2 * inv(3, 1000000007)) % 1000000007;
  p2 = (p2 * (isEven ? 1 : 2)) % 1000000007;
  p = (tmp - p2 + 2 * 1000000007) % 1000000007;
  p = (p - (isEven ? 0 : 1) + 1000000007) % 1000000007;
  cout << p << "/" << q << endl;
  return 0;
}
