package main
import (
"fmt"
)
func main() {
var n, a, b int
fmt.Scan(&n, &a, &b)
c := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&c[i])
}
cost := 0
for i := 0; i < n/2; i++ {
j := n - 1 - i
if c[i] == c[j] {
if c[i] == 2 {
if a < b {
cost += 2 * a
} else {
cost += 2 * b
}
}
} else if c[i] == 2 {
if c[j] == 0 {
cost += a
} else {
cost += b
}
} else if c[j] == 2 {
if c[i] == 0 {
cost += a
} else {
cost += b
}
} else {
fmt.Println("-1")
return
}
}
if n%2 != 0 {
if c[n/2] == 2 {
if a < b {
cost += a
} else {
cost += b
}
}
}
fmt.Println(cost)
}