#include <bits/stdc++.h>
using namespace std;
int di[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dj[] = {1, -1, 0, 0, -1, 1, 1, -1};
int main() {
  int n, a, b;
  scanf("%d%d%d", &n, &a, &b);
  string s;
  cin >> s;
  vector<int> info, cnt;
  for (int i = 0; i < s.size(); i++)
    if (s[i] == '*') info.push_back(i);
  if (!info.size()) cnt.push_back(s.size());
  if (info.size() && info[0] != 0) cnt.push_back(info[0]);
  if (info.size() && info.back() != s.size() - 1)
    cnt.push_back(s.size() - info.back() - 1);
  for (int i = 1; i < info.size(); i++)
    cnt.push_back(info[i] - info[i - 1] - 1);
  int ans = 0;
  for (int i = 0; i < cnt.size(); i++) {
    int f = ceil(cnt[i] / 2.0), s = cnt[i] / 2;
    if (a > b) {
      ans += min(f, a);
      a -= min(a, f);
      ans += min(s, b);
      b -= min(s, b);
    } else {
      ans += min(f, b);
      b -= min(b, f);
      ans += min(s, a);
      a -= min(s, a);
    }
  }
  printf("%d", ans);
}
