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

int Chop_if(char str[],char ch){
	int i = 0;
	for (i = 0; str[i] != '\0'; i++);
	if (i > 0){
		if(str[i - 1] == ch) str[i - 1] = '\0';
	}
	else return -1;
	return 0;
}
int StringToUpper(char str[]){//inplace modify.
	int i = 0;
	for (i = 0; str[i] != '\0'; i++) str[i] = toupper(str[i]);
	return 0;
}
/*
int PrintValue(char str[]){
	int i = 0;
	for (i = 0; str[i] != '\0'; i++)printf("%d ",str[i]);
	return 0;
}
*/

int main(){

	char buff[1024];

	while (1){
		if (fgets(buff, 1024, stdin) == NULL && errno != EINVAL) break;
		Chop_if(buff,'\n');
		Chop_if(buff,26);//value of eof at char value.but eof can get int value.
		Chop_if(buff,-1);//value of eof at command prompt.this is spooky value??
		StringToUpper(buff);
		printf("%s", buff);
		//PrintValue(buff);
	}
	/*int ch = EOF;
	while ((ch = getchar()) != EOF){
		ch = toupper(ch);
		putc(ch, stdout);
	}
	*/
	return 0;
}