#include <bits/stdc++.h>
int const MAXN = 300100;
char a[MAXN];
int n, x, y;
long long solve() {
  if (n == 1) return a[0] == '0' ? y : 0;
  long long cc = 1;
  for (int i = 1; i < n; ++i) {
    if (a[i - 1] != a[i]) ++cc;
  }
  if (a[0] == '1') --cc;
  if (a[n - 1] == '1') --cc;
  if (cc <= 0) return 0;
  long long price = ((cc + 1) / 2) * y;
  long long rot = cc / 2;
  long long ans = price;
  while (rot > 0) {
    price -= y;
    price += x;
    ans = std::min(ans, price);
    --rot;
  }
  return ans;
}
int main() {
  scanf("%d %d %d", &n, &x, &y);
  scanf("%s", a);
  long long ans = solve();
  printf("%lld\n", ans);
  return 0;
}
