Go: package main

import (
	"bufio"
	"os"
	"strings"
	"fmt"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	input := scanner.Text()
	input = strings.ToUpper(input)
	fmt.Println(input)
}

C++: // clang-format off
#include <bits/stdc++.h>
#define int long long
#define main signed main()
// #define main int main()
#define loop(i, a, n) for (int i = (a); i < (n); i++)
#define rep(i, n) loop(i, 0, n)
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define prec(n) fixed << setprecision(n)
#define stlice(from, to) substr(from, (to) - (from) + 1)
#define pb push_back
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second
using namespace std;
using pii = pair<int, int>;
using vi = vector<int>;
using vd = vector<double>;
using vc = vector<char>;
using vb = vector<bool>;
using vs = vector<string>;
using vpii = vector<pii>;
using vvi = vector<vi>;
using vvb = vector<vb>;
using vvpii = vector<vpii>;
template<typename A> using fn = function<A>;
constexpr int INF = sizeof(int) == sizeof(long long) ? 1000000000000000000LL : 1000000000;
constexpr int MOD = 1000000007;
constexpr double PI = acos(-1);
template<typename A, typename B> bool cmin(A &a, const B &b) { return a > b ? (a = b, true) : false; }
template<typename A, typename B> bool cmax(A &a, const B &b) { return a < b ? (a = b, true) : false; }
constexpr bool odd(const int &n) { return n & 1; }
constexpr bool even(const int &n) { return !odd(n); }
template<typename V> constexpr typename V::value_type sum(const V &v) { return accumulate(all(v), 0); }
void solve();
main { solve(); return 0; }
// clang-format on

void solve() {
	string s;
	getline(cin, s);
	rep(i, s.size()) if ('a' <= s[i] && s[i] <= 'z') s[i] += 'A'-'a';
	cout << s << endl;
}

C++: #include<iostream>
using namespace std;
int main(){
	string s;
	getline(cin,s);
	for(int i=0;i<s.size();i++){
		if(s[i]>=97&&s[i]<=122){
			s[i]-=32;
		}
	}
	cout<<s<<endl;
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <string>
#include <cctype>

using namespace std;

int main() {

	string st;

	while (getline(cin, st)) {
		transform(st.begin(), st.end(), st.begin(), toupper);

		cout << st << endl;
	}


	return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;

int main(){
	string s;

	while ( getline(cin,s) ){
		for (int i=0 ; i<s.size() ; i++){
			if ( s[i]>='a' && s[i]<='z'){
				s[i] = s[i] + ('A'-'a');
			}
		}
		cout << s << endl;
	}

	return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;

int main()
{
    string s;
    getline(cin,s);
    for(int i=0;i<s.length();i++){
        if(s[i]>='a'&&s[i]<='z')
            s[i]+='A'-'a';
    }
    cout<<s<<endl;
    return 0;
}

C++: #include <algorithm>
#include <cmath>
#include <climits>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#include <cassert>
#include <functional>

using namespace std;

#define LOG(...) printf(__VA_ARGS__)
//#define LOG(...)
#define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);++i)
#define REP(i,n) for(int i=0;i<(int)(n);++i)
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(),(a).rend()
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())
#define RSORT(c) sort((c).rbegin(),(c).rend())
#define CLR(a) memset((a), 0 ,sizeof(a))

typedef long long ll;
typedef unsigned long long ull;
typedef vector<bool> vb;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vb> vvb;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int dx[] = { -1, 0, 1, 0 }; const int dy[] = { 0, 1, 0, -1 };


int main() {
string s;
getline(cin,s);
int sl = s.length();
REP(i, sl){
	if ('a'<=s[i]&&s[i]<='z')
		s[i] += 'A' - 'a';
}
cout<<s<<endl;
}

C++: #include <iostream>
#include <string>
using namespace std;

int main()
{
	string str;
	char in;

	while(scanf("%c",&in) && in != '\n'){
		if('a' <= in && in <= 'z'){
			in += ('A'-'a');
		}
		str.push_back(in);
	}
	cout << str << endl;

	return 0;
}

C++: #include <stdio.h>
#include <string.h>

int main(){
  char s[1024];
  fgets(s, 1024, stdin);

  for(int i=0;i<strlen(s);i++)
    if('a' <= s[i] && s[i] <= 'z')
      s[i] += 'A'-'a';

  printf("%s", s);
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
#include <cstdio>

std::string get_input(void) {
    std::string str;
    std::getline(std::cin, str);
    return str;
}

std::string convert(std::string str) {
    char c;
    for (std::string::iterator i = str.begin(); i != str.end(); i++) {
        c = *i;
        switch(c) {
            case ' ':
                break;
            case '.':
                break;
            default:
                *i = toupper(c);
                break;
        }
    }
    return str;
}

int main(void) {
    std::string str = get_input();
    std::cout << convert(str) << std::endl;
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
int main(){
    
    string str;
    getline(cin, str);
    
    for(int i = 0; i < (int)str.size(); i++){
        if(str[i] >= 'a' && str[i] <= 'z'){
            str[i] += 'A' - 'a';
        }
    }
    cout << str <<endl;
    
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
int main()
{
  std::string line;
  while (std::getline(std::cin, line)) {
    std::transform(line.cbegin(), line.cend(), line.begin(), ::toupper);
    std::cout << line << std::endl;
  }
  return 0;
}

C++: #include <iostream>
#include <string>

int main()
{
	std::string str;
	
	std::getline(std::cin, str);
	
	for (unsigned i = 0; i < str.length(); ++i) {
		char c = str.at(i);
		if ('a' <= c && c <= 'z') str.at(i) += 'A' - 'a';
	}
	
	std::cout << str << std::endl;
	
	return 0;
}

C++: #include <cctype>
#include <iostream>
#include <string>

using namespace std;

int main() {
  string s;
  getline(cin, s);
  for (unsigned int i = 0; i < s.length(); i++)
    cout << char(islower(s[i]) ? s[i]-32 : s[i]);
  cout << endl;
  return 0;
}

C++: #include <iostream>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>	// require sort next_permutation count __gcd reverse etc.
#include <cstdlib>	// require abs exit atof atoi 
#include <cstdio>		// require scanf printf
#include <functional>
#include <numeric>	// require accumulate
#include <cmath>		// require fabs
#include <climits>
#include <limits>
#include <cfloat>
#include <iomanip>	// require setw
#include <sstream>	// require stringstream 
#include <cstring>	// require memset
#include <cctype>		// require tolower, toupper
#include <fstream>	// require freopen
#include <ctime>		// require srand
#define rep(i,n) for(int i=0;i<(n);i++)
#define ALL(A) A.begin(), A.end()

using namespace std;

typedef long long ll;
typedef pair<int, int> P;

int main()
{
	string str = "";
	while (getline (cin, str ) ){
		int n = str.length();
		rep (i, n ){
			if (isalpha(str[i] ) ){
				str[i] = toupper(str[i] );
			} // end if
		} // end rep
		cout << str << endl;
	} // end loop
		
	return 0;
}

C++: #include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
using namespace std;
static const double EPS = 1e-5;
typedef long long ll;
#define FOR(i,n) for(i=0;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)

int main(){
	char c;
	for(;cin>>c;){
		putchar(('a'<=c&&c<='z')?c^=32:c);
	}
	return 0;
}