using System;
//黒白を累積和で保存する
namespace C
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            string s = Console.ReadLine();
            int b = 0, w= 0;
            int[] A = new int[n];
            int[] C = new int[n];//Cumulative sum
            for (int i = 0; i < n; i++)
            {
                if (s[i] == '.') w++;
                if (s[i] == '#')
                {
                    b++;
                    A[i] = 1;
                }
            }
            C[0] = A[0];
            for(int i = 1; i < n; i++)
            {
                C[i] = A[i] + C[i - 1];
            }
            int min = 1001001001;
            for(int i=0; i < n; i++)
            {
                int sum = 0;
                //基準より左にある黒の数
                sum += C[i];
                //右にある白の数
                sum += w - (i +1 - C[i]);
                if(sum>=0)min = (int)Math.Min(min, sum);
            }
            min = (int)Math.Min(min, (int)Math.Min(w,b));
            Console.WriteLine(min);
        }
    }
}

//namespace C
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            int n = int.Parse(Console.ReadLine());
//            string s = Console.ReadLine();
//            int w = 0;
//            int wlast = -1;
//            int b = 0;
//            int bfirst = -1;
//            int ans = 100100100;
//            for (int i = 0; i < n; i++)
//            {
//                if (s[i] == '.')
//                {
//                    w++;
//                    wlast = i;
//                }
//                if (s[i] == '#')
//                {
//                    b++;
//                    if (bfirst == -1) bfirst = i;
//                }
//            }
//            //全部白にする
//            ans = (int)Math.Min(ans, b);
//            //全部黒
//            ans = (int)Math.Min(ans, w);
//            //左詰め白
//            if (w > 0)
//            {
//                int cnt = 0;
//                for (int i = 0; i <= wlast; i++)
//                {
//                    if (s[i] == '#') cnt++;
//                }
//                ans = (int)Math.Min(ans, cnt);
//            }
//            //右詰め黒
//            if (b > 0)
//            {
//                int cnt = 0;
//                for (int i = bfirst; i <n; i++)
//                {
//                    if (s[i] == '.') cnt++;
//                }
//                ans = (int)Math.Min(ans, cnt);
//            }
//            Console.WriteLine(ans);
//        }
//    }
//}

//namespace C
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            int n = int.Parse(Console.ReadLine());
//            string s = Console.ReadLine();
//            int w = 0;
//            int b = 0;
//            for(int i = 0; i < n; i++)
//            {
//                if (s[i] == '.') w++;
//                if (s[i] == '#') b++;
//            }
//            int ans = 0;
//            if (w >= b)
//            {
//                ans = b;
//                int cnt = n-1;
//                while (s[cnt] == '#')
//                {
//                    ans--;
//                    cnt--;
//                }
//            }else if (w < b)
//            {
//                ans = w;
//                int cnt = 0;
//                while (s[cnt] == '.')
//                {
//                    ans--;
//                    cnt++;
//                }
//            }
//            Console.WriteLine(ans);
//        }
//    }
//}


Measured memory_bytes: 29904