# include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fw(p) for(int w=0;w<(p);w++)
#define fx(p) for(int x=0;x<(p);x++)
#define fy(p) for(int y=0;y<(p);y++)
#define fz(p) for(int z=0;z<(p);z++)
#define fyg(p,g) for(int y=(g);y<(p);y++)
#define fzg(p,g) for(int z=(g);z<(p);z++)
#define ce(d) cout<<d<<endl;
#define vecp(p) int aa;cin>>aa;(p).push_back(aa);
#define vecpl(p) long long aa;cin>>aa;(p).push_back(aa);
#define vecps(p) string aa;cin>>aa;(p).push_back(aa);
#define vecp2(p) cin>>aa;(p).push_back(aa);
#define vecpl2(p) long long a	b;cin>>ab;(p).push_back(ab);
#define vecps2(p) string ab;cin>>ab;(p).push_back(ab);
#define set0(k,n) for(int nn=0;nn<(n);nn++){ (k).push_back(0); }
#define sorts(c) sort((c).begin(),(c).end());
#define reverses(c) reverse((c).begin(),(c).end());
#define vec(b) vector<int> (b);
#define vecl(b) vector<long long> (b);
#define vecs(b) vector<string> (b);
#define vecsize(b,size) vector<int> (b)((size));
#define pb(b,a) (b).push_back((a));
#define doublece(a,b) cout<<(a)<<' '<<(b)<<endl;
#define pairs(s) vector<pair<int,int>> (s);
#define pairsl(s) vector<pair<ll,ll>> (s);
#define pairss(s) vector<pair<string,string>> (s);
#define pairsp(s) int aa,bb;cin>>aa>>bb;(s).push_back(make_pair(aa,bb));
#define pairspl(s) ll aa,bb;cin>>aa>>bb;(s).push_back(make_pair(aa,bb));
#define pairsps(s) string aa,bb;cin>>aa>>bb;(s).push_back(make_pair(aa,bb));
#define pairsREV(s) (s).push_back(make_pair(bb,aa));
#define pairslREV(s) (s).push_back(make_pair(bb,aa));
#define pairssREV(s) (s).push_back(make_pair(bb,aa));
#define MOD 1000000007
 int ans = INT_MAX;

int N;
string S;

void bin(int left,int right)
{

        int check = (left + right) / 2;
        int res = 0;
        fx(N){
            if (x < check) {
                if (S.at(x) == '#') {
                    res++;
                }
            }
            else {
                if (S.at(x) == '.') {
                    res++;
                }
            }
        }

  if(ans>=res){
            ans = min(ans, res);
  if(right-check>1){
        bin(check, right);
  }
  }else{
      if(check-left>=1){
        bin(left, check);
      }
  }



    
}
void bin2(int left,int right)
{

        int check = (left + right) / 2;
        int res = 0;
        fx(N){
            if (x < check) {
                if (S.at(x) == '#') {
                    res++;
                }
            }
            else {
                if (S.at(x) == '.') {
                    res++;
                }
            }
        }

  if(ans>=res){
            ans = min(ans, res);
      if(check-left>=1){
        bin(left, check);
      }
  }else{

      if(right-check>1){
        bin(check, right);
  }
  }



    
}

int main()
{


    cin >> N >> S;

    bin(0,N);
   bin2(0,N);
  bin(0,0);
    bin(N,N);
    
    ce(ans)
}
