#include <bits/stdc++.h>
using namespace std;
int main() {
  std::ios::sync_with_stdio(false);
  signed long long n, x, y;
  cin >> n >> x >> y;
  string s;
  cin >> s;
  char pre = s[0];
  signed long long s0 = 0, s1 = 0;
  for (signed long long i = 1; i < s.size(); i++) {
    if (pre != s[i]) {
      if (pre == '0')
        s0++;
      else
        s1++;
      pre = s[i];
    }
  }
  if (pre == '0')
    s0++;
  else
    s1++;
  if (s0 == 0 && s1 == 1) {
    cout << "0\n";
    return 0;
  }
  if (s1 == 0) {
    cout << y << endl;
    return 0;
  }
  signed long long a = LLONG_MAX, b;
  b = s0 * y;
  vector<signed long long> v;
  for (signed long long i = 1; i <= s1; i++) {
    if (s0 == 1) break;
    signed long long c;
    s0--;
    c = i * x + s0 * y;
    v.push_back(c);
  }
  sort(v.begin(), v.end());
  if (v.size() > 0) a = v[0];
  cout << min(a, b) << endl;
  return 0;
}
