#include<bits/stdc++.h> 
using namespace std;
#define int long long 
//#define ll long long 
#include <cmath>
#define ff first 
#define ss second
#define pb push_back
#define vi vector<int>
#define vp vector<pair<int,int>>
#define vii vector<vector<int>>
#define tp tuple<double,ll,ll> 
#define sd(a) scanf("%lld",&a)
#define pr(a) printf("%d ",a)
//#define mod 1000000007
const double EPS = 1e-9;
#define f(o,g,h) for(ll o=g;o<h;o++)
#define getunique(v) {sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());}
const int M = 1e9+7;
int mod(int a){return (a%M + M)%M;}
int add(int a,int b){return mod(mod(a)+mod(b));}
namespace number_theory {
  int gcd(int x, int y) {
    if (x == 0) return y;
    if (y == 0) return x;
    return gcd(y, x % y);
  }
  bool isprime(int n) { 
    if (n <= 1) return false; 
    if (n <= 3) return true; 
    
    if (n % 2 == 0 || n % 3 == 0) return false; 
    
    for (int i = 5; i * i <= n; i += 6) 
    if (n % i == 0 || n % (i+2) == 0) 
      return false; 
    
    return true; 
  } 
   
  bool prime[15000105]; 
  void sieve(int n) { 
    for (int i = 0; i <= n; i++) prime[i] = 1;
    for (int p = 2; p * p <= n; p++) { 
    if (prime[p] == true) { 
      for (int i = p * p; i <= n; i += p) 
      prime[i] = false; 
    } 
    } 
    prime[1] = prime[0] = 0;
  } 
   
  vector<int> primelist;
  bool __primes_generated__ = 0;
   
  void genprimes(int n) {
    __primes_generated__ = 1;
    sieve(n + 1);
    for (int i = 2; i <= n; i++) if (prime[i]) primelist.push_back(i);
  }
   
  vector<int> factors(int n) {
    if (!__primes_generated__) {
    cerr << "Caint genprimes you dope" << endl;
    exit(1);
    }
    vector<int> facs;
   
    for (int i = 0; primelist[i] * primelist[i] <= n && i < primelist.size(); i++) {
    if (n % primelist[i] == 0) {
      while (n % primelist[i] == 0) {
      n /= primelist[i];
      facs.push_back(primelist[i]);
      }
    }
    }
    if (n > 1) {
    facs.push_back(n);
    }
    sort(facs.begin(), facs.end());
    return facs;
  }
  
  vector<int> getdivs(int n) {
    vector<int> divs;
    for (int i = 1; i * i <= n; i++) {
      if (n % i == 0) {
        divs.push_back(i);
        divs.push_back(n / i);
      }
    }
 
    getunique(divs);
    return divs;
  }
}
using namespace number_theory;


void solve(){
   double a,b; cin>>a>>b;
   cout<<(a*b/100);
 }
int32_t main(){
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    #endif
    ios_base::sync_with_stdio(0);
    cin.tie(0);
   // genprimes(1e7);
    //init();
    int t; //cin>>t;
    t=1;
     while(t--)
       solve();
    return 0;
}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define P pair<ll,ll>
#define FOR(I,A,B) for(ll I = ll(A); I < ll(B); ++I)
#define FORR(I,A,B) for(ll I = ll((B)-1); I >= ll(A); --I)
#define TO(x,t,f) ((x)?(t):(f))
#define SORT(x) (sort(x.begin(),x.end())) // 0 2 2 3 4 5 8 9
#define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin()) //xi>=v  x is sorted
#define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin()) //xi>v  x is sorted
#define NUM(x,v) (POSU(x,v)-POSL(x,v))  //x is sorted
#define REV(x) (reverse(x.begin(),x.end())) //reverse
ll gcd_(ll a,ll b){if(a%b==0)return b;return gcd_(b,a%b);}
ll lcm_(ll a,ll b){ll c=gcd_(a,b);return ((a/c)*b);}
#define NEXTP(x) next_permutation(x.begin(),x.end())
const ll INF=ll(1e16)+ll(7);
const ll MOD=1000000007LL;
#define out(a) cout<<fixed<<setprecision((a))
//tie(a,b,c) = make_tuple(10,9,87);
#define pop_(a) __builtin_popcount((a))
ll keta(ll a){ll r=0;while(a){a/=10;r++;}return r;}
#define num_l(a,v) POSL(a,v) //v未満の要素数
#define num_eql(a,v) POSU(a,v) //v以下の要素数
#define num_h(a,v) (a.size() - POSU(a,v)) //vより大きい要素数
#define num_eqh(a,v) (a.size() - POSL(a,v)) //v以上の要素数



uniform_real_distribution<double> rnd(0.00,1.00);

int main(){

	ll N,X;
	string s;
	cin >> N >> X;
	cin >> s;

	FOR(i,0,N){
		if(s[i]=='o')X++;
		if(s[i]=='x')X--;
		if(X<0)X=0;
	}
	cout << X << endl;
}

