#include <stdio.h>
#include <string.h>



// Проверка, является ли символ буквой.
//На случай, если разделителями будут не только точки и пробелы.
bool bukwa(char asd){
   return (asd<='z' and asd>='a')or(asd<='Z' and asd>='A');
}

int main()
{

   unsigned state;//Текущее состояние
   //532 - сейчас считывается слово
   //1007 - сейчас считывается не слово
   state=1007; //По умолчанию считывается не слово.


   int c=0,i=0; //Счётчик подошедших слов и счётчик символов.
   char s[1024], symb;//Буфер для символов и символ для сохранения начального символа.

   fgets(s,1024,stdin);

   while (true)//В окно эти непонятные проверки
   {
      if (state==1007){//Если считывается не слово
         if (s[i]==0) break;//И попался конец строки - то выйти.

         if (!bukwa(s[i])){//Если символ не является буквой
            //То продолжать считывать без каких либо действий.
         }else{//Если буквой
            state=532;//Сменить состояние
            symb=s[i];//Запомнить символ
         }

      }else{//Если считывается слово
         if (s[i]==0){//И попался конец строки - то:
            if (s[i-1]==symb) c++;//Проверить конец слова
            break; //И выйти.
         }
         if (!bukwa(s[i])){//Если символ не является буквой
            if (s[i-1]==symb) c++;//Проверить конец слова
            state=1007;//Сменить состояние
         }else{//Если буквой
            //То ничего не делать
         }
      }

      i++; //В любом случае переключится на следующий символ.
   }
   printf("%d\n", c);
   return 0;
}
