#include <bits/stdc++.h>
using namespace std;
int n, a, b, c[50000];
int main() {
  cin >> n >> a >> b;
  for (int i = 0; i <= n - 1; i++) {
    scanf("%d", &c[i]);
  }
  int res = 0;
  for (int i = 0, j = n - 1; i <= j; i++, j--) {
    if (i == j) {
      if (c[j] == 2) res += min(a, b);
    } else {
      if ((c[i] == 1 && c[j] == 0) || (c[i] == 0 && c[j] == 1)) {
        printf("-1\n");
        return 0;
      } else if ((c[i] == 0 && c[j] == 2) || (c[i] == 2 && c[j] == 0)) {
        res += a;
      } else if ((c[i] == 1 && c[j] == 2) || (c[i] == 2 && c[j] == 1)) {
        res += b;
      } else if (c[i] == c[j] && c[j] == 2) {
        res += 2 * (min(a, b));
      }
    }
  }
  printf("%d\n", res);
  return 0;
}
