func_code_string: #include <bits/stdc++.h>   template <class T>   bool MX(T &l, const T &r) {     return l < r ? l = r, 1 : 0;   }   template <class T>   bool MN(T &l, const T &r) {     return l > r ? l = r, 1 : 0;   }   using namespace std;   const long long MOD = 1e9 + 7;   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     int n, a, b, ans = 0, c;     cin >> n >> a >> b;     vector<int> s(n / 2);     for (int i = 0; i < (int)n / 2; ++i) cin >> s[i];     reverse(s.begin(), s.end());     if (n % 2) {       cin >> c;       if (c == 2) ans += min(a, b);     }     for (int i = 0; i < (int)n / 2; ++i) {       cin >> c;       if (s[i] == 0) {         if (c == 2) ans += a;         if (c == 1) {           cout << -1 << endl;           return 0;         }       } else if (s[i] == 1) {         if (c == 2) ans += b;         if (c == 0) {           cout << -1 << endl;           return 0;         }       } else {         if (c == 2) ans += 2 * min(a, b);         if (c == 1) ans += b;         if (c == 0) ans += a;       }     }     cout << ans << endl;     return 0;   }   