#include <iostream>
#include <fstream>
#include <cctype>
#include <cstring>
#include <cstdio>
using namespace std;
string line, line2;
int counter=0, l;
char* char_line;
int main()
{
fstream file;
file.open("text.txt", ios::out);
while(getline(cin, line))
{
file<<line<<endl;
/*l=line.length(); ==> warunek zakonczenia wpisywania danych wejsciowych (kropka na koncu linii)
if(line[l-1]=='.')
break;*/
if(line=="") //==> opcjonalny warunek zakonczenia wpisywania danych wejsciowych (pusta linia, czyli wcisniecie drugi raz enter)
break;
}
file.close();
file.open("text.txt", ios::in);
while(getline(file, line2))
{
l=line2.length();
char_line=new char [l];
strcpy(char_line, line2.c_str()); //zamiana lini na tabice charow
for (int i=0; i<l; i++)
{
if(char_line[i]==' ')
counter++;
else if(char_line[i]!=' '&&counter>0)
{
putchar(toupper(char_line[i])); //zamiana litery na wielka gdy poprzedza ja spacja/spacje
counter=0;
}
else
cout<<char_line[i];
}
cout<<endl;
delete [] char_line;
}
file.close();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGNjdHlwZT4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjc3RkaW8+CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RyaW5nIGxpbmUsIGxpbmUyOwppbnQgY291bnRlcj0wLCBsOwpjaGFyKiBjaGFyX2xpbmU7CgppbnQgbWFpbigpCnsKICAgIGZzdHJlYW0gZmlsZTsKICAgIGZpbGUub3BlbigidGV4dC50eHQiLCBpb3M6Om91dCk7CgogICAgd2hpbGUoZ2V0bGluZShjaW4sIGxpbmUpKQogICAgewogICAgICAgIGZpbGU8PGxpbmU8PGVuZGw7CgogICAgICAgIC8qbD1saW5lLmxlbmd0aCgpOyA9PT4gd2FydW5layB6YWtvbmN6ZW5pYSB3cGlzeXdhbmlhIGRhbnljaCB3ZWpzY2lvd3ljaCAoa3JvcGthIG5hIGtvbmN1IGxpbmlpKQogICAgICAgIGlmKGxpbmVbbC0xXT09Jy4nKQogICAgICAgICAgICBicmVhazsqLwoKICAgICAgICBpZihsaW5lPT0iIikgLy89PT4gb3Bjam9uYWxueSB3YXJ1bmVrIHpha29uY3plbmlhIHdwaXN5d2FuaWEgZGFueWNoIHdlanNjaW93eWNoIChwdXN0YSBsaW5pYSwgY3p5bGkgd2Npc25pZWNpZSBkcnVnaSByYXogZW50ZXIpCiAgICAgICAgICAgIGJyZWFrOwogICAgfQoKICAgIGZpbGUuY2xvc2UoKTsKCiAgICBmaWxlLm9wZW4oInRleHQudHh0IiwgaW9zOjppbik7CgogICAgIHdoaWxlKGdldGxpbmUoZmlsZSwgbGluZTIpKQogICAgIHsKICAgICAgICAgbD1saW5lMi5sZW5ndGgoKTsKICAgICAgICAgY2hhcl9saW5lPW5ldyBjaGFyIFtsXTsKICAgICAgICAgc3RyY3B5KGNoYXJfbGluZSwgbGluZTIuY19zdHIoKSk7IC8vemFtaWFuYSBsaW5pIG5hIHRhYmljZSBjaGFyb3cKICAgICAgICAgZm9yIChpbnQgaT0wOyBpPGw7IGkrKykKICAgICAgICAgewogICAgICAgICAgICAgaWYoY2hhcl9saW5lW2ldPT0nICcpCiAgICAgICAgICAgICAgICBjb3VudGVyKys7CiAgICAgICAgICAgICBlbHNlIGlmKGNoYXJfbGluZVtpXSE9JyAnJiZjb3VudGVyPjApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwdXRjaGFyKHRvdXBwZXIoY2hhcl9saW5lW2ldKSk7IC8vemFtaWFuYSBsaXRlcnkgbmEgd2llbGthIGdkeSBwb3ByemVkemEgamEgc3BhY2phL3NwYWNqZQogICAgICAgICAgICAgICAgY291bnRlcj0wOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgY291dDw8Y2hhcl9saW5lW2ldOwogICAgICAgICB9CiAgICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgIGRlbGV0ZSBbXSBjaGFyX2xpbmU7CiAgICAgfQoKICAgICBmaWxlLmNsb3NlKCk7CgogICAgcmV0dXJuIDA7Cn0K