#include <bits/stdc++.h>
using namespace std;
int n, a[100005], v[5];
int main() {
  int i, re = 0, oo;
  scanf("%d%d%d", &n, &v[0], &v[1]);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  oo = min(v[0], v[1]);
  for (i = 1; i <= n / 2; i++) {
    if (a[i] < 2 || a[n - i + 1] < 2) {
      if (a[i] < 2 && a[n - i + 1] < 2)
        if (a[i] != a[n - i + 1]) {
          puts("-1");
          return 0;
        } else
          continue;
      else
        re += v[a[i]] + v[a[n - i + 1]];
    } else {
      re += oo * 2;
    }
  }
  if (n & 1)
    if (a[n / 2 + 1] == 2) re += oo;
  printf("%d\n", re);
}
