func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MAXN = 1e6;   long long a[MAXN], mod = 1e9 + 7, ans;   long long power(long long x, long long y) {     if (y == 0) return 1;     long long mid = power(x, y / 2);     if (y % 2 == 1)       return mid * mid % mod * x % mod;     else       return mid * mid % mod;   }   int main() {     int n;     cin >> n;     bool is = false, is2 = false;     for (int i = 0; i < n; i++) {       cin >> a[i];       if (a[i] % 2 == 0) is = true;       if (a[i] != 1) is2 = true;     }     for (int i = 0; i < n; i++) {       if (i == 0)         ans = power(2, a[i]);       else         ans = power(ans, a[i]);     }     ans = ans * power(2, mod - 2) % mod;     long long ans2 = ans;     long long k = -1;     if (is) k = 1;     ans = (ans + k) * power(3, mod - 2) % mod;     cout << ans <<  /  << ans2 << endl;     return 0;   }   