![]()
void solve() {
int n, a, b;
cin >> n >> a >> b;
int j = 0, o = 0;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
if (x & 1) j++;
else o++;
}
int ans = 1e18;
if (j && !o) {
ans = min(ans, a * (j - 1));
ans = min(ans, a * j * (j - 1) / 2);
} else if (o && !j) {
ans = min(ans, a * (o - 1));
ans = min(ans, a * o * (o - 1) / 2);
}
if (j && o) {
ans = min(ans, a * (j + o - 2) + b);
ans = min(ans, b * max(j, o) + a * (min(j, o) - 1));
ans = min(ans, b * max(j, o) + b * (min(j, o) - 1));
ans = min(ans, b * o * j);
ans = min(ans, a * (j * (j - 1) / 2 + o * (o - 1) / 2) + b);
ans = min(ans, b * o * j + a * (j * (j - 1) / 2 + o * (o - 1) / 2));
}
cout << ans << endl;
}