Problem:
Score : 100 points

Problem Statement

You are given three words s_1, s_2 and s_3, each composed of lowercase English letters, with spaces in between.
Print the acronym formed from the uppercased initial letters of the words.

Constraints

s_1, s_2 and s_3 are composed of lowercase English letters.

1 ≤ |s_i| ≤ 10 (1≤i≤3)

Input

Input is given from Standard Input in the following format:

s_1 s_2 s_3

Output

Print the answer.

Sample Input 1

atcoder beginner contest

Sample Output 1

ABC

The initial letters of atcoder, beginner and contest are a, b and c. Uppercase and concatenate them to obtain ABC.

Sample Input 2

resident register number

Sample Output 2

RRN

Sample Input 3

k nearest neighbor

Sample Output 3

KNN

Sample Input 4

async layered coding

Sample Output 4

ALC

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

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

#define SIZE_STRING 10
#define NUM_STRING 3
#define SIZE_RESULT 4

int main(void)
{
	/* 変数宣言 */
	char cS[NUM_STRING][SIZE_STRING];	// 入力文字列
	char cResult[SIZE_RESULT];			// 結果文字列
	int iLoop;							// ループカウンタ
	
	/* 変数初期化 */
	memset(cS, 0x00, sizeof(cS));
	memset(cResult, 0x00, SIZE_RESULT);
	
	/* 文字列読み込み */
	for(iLoop = 0; iLoop < NUM_STRING; iLoop++)
	{
		scanf("%s", cS[iLoop]);
	}
	
	/* 入力文字列の先頭文字を結果文字列へコピー */
	for(iLoop = 0; iLoop < NUM_STRING; iLoop++)
	{
		cResult[iLoop] = *cS[iLoop];
	}
	
	/* 結果文字列を大文字に変換 */
	for(iLoop = 0; iLoop < NUM_STRING; iLoop++)
	{
		cResult[iLoop] = toupper(cResult[iLoop]);
	}
	
	/* 結果出力 */
	printf("%s\n", cResult);
	
	return 0;
}