#include <iostream>
using namespace std;
// Проверяет, принадлежит ли символ алфавиту
bool AllowedSign(char x) {
return ((x >= '0' && x <= '9') || (x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z'))?1:0;
}
int main() {
char x;
int count = 0; // Счетчик слов в предложении
bool wordBegin = true; // Будет ли следующий считанный символ, принадлежащий алфавиту, началом нового слова
while(EOF != (x = getchar())) {
if(AllowedSign(x) && wordBegin) { // Если текущий символ принадлежит алфавиту и ожидается новое слово
count++;
wordBegin = false; // Указываем, что последующие находимые символы алфавита не будут началом слова
} else if(x == ' ') // Если текущий символ - пробел
wordBegin = true; // Указываем для следующей итерации, что текущее слово "закончилось" и ожидается новое
}
cout << count;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8g0J/RgNC+0LLQtdGA0Y/QtdGCLCDQv9GA0LjQvdCw0LTQu9C10LbQuNGCINC70Lgg0YHQuNC80LLQvtC7INCw0LvRhNCw0LLQuNGC0YMKYm9vbCBBbGxvd2VkU2lnbihjaGFyIHgpIHsKCXJldHVybiAoKHggPj0gJzAnICYmIHggPD0gJzknKSB8fCAoeCA+PSAnYScgJiYgeCA8PSAneicpIHx8ICh4ID49ICdBJyAmJiB4IDw9ICdaJykpPzE6MDsKfQoKaW50IG1haW4oKSB7CgljaGFyIHg7CglpbnQgY291bnQgPSAwOwkvLyDQodGH0LXRgtGH0LjQuiDRgdC70L7QsiDQsiDQv9GA0LXQtNC70L7QttC10L3QuNC4Cglib29sIHdvcmRCZWdpbiA9IHRydWU7CS8vINCR0YPQtNC10YIg0LvQuCDRgdC70LXQtNGD0Y7RidC40Lkg0YHRh9C40YLQsNC90L3Ri9C5INGB0LjQvNCy0L7Quywg0L/RgNC40L3QsNC00LvQtdC20LDRidC40Lkg0LDQu9GE0LDQstC40YLRgywg0L3QsNGH0LDQu9C+0Lwg0L3QvtCy0L7Qs9C+INGB0LvQvtCy0LAKCXdoaWxlKEVPRiAhPSAoeCA9IGdldGNoYXIoKSkpIHsgCgkJaWYoQWxsb3dlZFNpZ24oeCkgJiYgd29yZEJlZ2luKSB7CS8vINCV0YHQu9C4INGC0LXQutGD0YnQuNC5INGB0LjQvNCy0L7QuyDQv9GA0LjQvdCw0LTQu9C10LbQuNGCINCw0LvRhNCw0LLQuNGC0YMg0Lgg0L7QttC40LTQsNC10YLRgdGPINC90L7QstC+0LUg0YHQu9C+0LLQvgoJCQljb3VudCsrOwoJCQl3b3JkQmVnaW4gPSBmYWxzZTsJLy8g0KPQutCw0LfRi9Cy0LDQtdC8LCDRh9GC0L4g0L/QvtGB0LvQtdC00YPRjtGJ0LjQtSDQvdCw0YXQvtC00LjQvNGL0LUg0YHQuNC80LLQvtC70Ysg0LDQu9GE0LDQstC40YLQsCDQvdC1INCx0YPQtNGD0YIg0L3QsNGH0LDQu9C+0Lwg0YHQu9C+0LLQsAoJCX0gZWxzZSBpZih4ID09ICcgJykJLy8g0JXRgdC70Lgg0YLQtdC60YPRidC40Lkg0YHQuNC80LLQvtC7IC0g0L/RgNC+0LHQtdC7CgkJCXdvcmRCZWdpbiA9IHRydWU7CS8vINCj0LrQsNC30YvQstCw0LXQvCDQtNC70Y8g0YHQu9C10LTRg9GO0YnQtdC5INC40YLQtdGA0LDRhtC40LgsINGH0YLQviDRgtC10LrRg9GJ0LXQtSDRgdC70L7QstC+ICLQt9Cw0LrQvtC90YfQuNC70L7RgdGMIiDQuCDQvtC20LjQtNCw0LXRgtGB0Y8g0L3QvtCy0L7QtQoJfQoJY291dCA8PCBjb3VudDsKCXJldHVybiAwOwp9
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLg==
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.