#include <iostream>
#include <cmath>
#include <vector>
#include <string.h>
#include <bits/stdc++.h>
#include <cstdlib>
#include <time.h>
#include <fstream>
#include <iterator>
#include <utility>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
using namespace std;
#define ll long long
#define ld long double
typedef vector<int> vi;
typedef multiset<int> mi;
typedef multiset<ll> mll;
typedef vector<ll> vll;
typedef vector<bool> vb;
typedef vector<vector<int>> _2vi;
typedef vector<vector<ll>> _2vll;
#define all(v) ((v).begin()), ((v).end())
#define sz(v) ((ll)((v).size()))
#define vinp(v, n) \
for (ll i = 0; i < (n); i++) \
cin >> (v)[i]
#define printv(v) \
for (auto i : (v)) \
cout << i << " "
#define Bustany \
ios::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
#define fr0(i, n) for (int(i) = 0; (i) < (n); (i)++)
#define fr1(i, n) for (int(i) = 1; (i) < (n); (i)++)
#define _CRT_SECURE_NO_WARNING
const ll MOD = 1000000007;
void solve()
{
string s;
getline(cin, s);
stringstream ss(s);
string x;
while (ss >> x)
{
char i = x.front();
if(x[0]<97){
x[0]+=32;
}
x.push_back(x.front());
x.erase(x.begin());
if (i < 97)
{
x[0] -= 32;
}
x += "sui";
cout << x << " ";
}
cout << endl;
}
int main()
{
Bustany;
int t = 1;
cin >> t;
cin.ignore();
while (t--)
{
solve();
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8dGltZS5oPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGJpdHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiBtdWx0aXNldDxpbnQ+IG1pOwp0eXBlZGVmIG11bHRpc2V0PGxsPiBtbGw7CnR5cGVkZWYgdmVjdG9yPGxsPiB2bGw7CnR5cGVkZWYgdmVjdG9yPGJvb2w+IHZiOwp0eXBlZGVmIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gXzJ2aTsKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPGxsPj4gXzJ2bGw7CiNkZWZpbmUgYWxsKHYpICgodikuYmVnaW4oKSksICgodikuZW5kKCkpCiNkZWZpbmUgc3oodikgKChsbCkoKHYpLnNpemUoKSkpCgojZGVmaW5lIHZpbnAodiwgbikgICAgICAgICAgICAgICBcCiAgICBmb3IgKGxsIGkgPSAwOyBpIDwgKG4pOyBpKyspIFwKICAgIGNpbiA+PiAodilbaV0KI2RlZmluZSBwcmludHYodikgICAgICBcCiAgICBmb3IgKGF1dG8gaSA6ICh2KSkgXAogICAgY291dCA8PCBpIDw8ICIgIgojZGVmaW5lIEJ1c3RhbnkgICAgICAgICAgICAgIFwKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBcCiAgICBjaW4udGllKDApOyAgICAgICAgICAgICAgXAogICAgY291dC50aWUoMCk7CiNkZWZpbmUgZnIwKGksIG4pIGZvciAoaW50KGkpID0gMDsgKGkpIDwgKG4pOyAoaSkrKykKI2RlZmluZSBmcjEoaSwgbikgZm9yIChpbnQoaSkgPSAxOyAoaSkgPCAobik7IChpKSsrKQojZGVmaW5lIF9DUlRfU0VDVVJFX05PX1dBUk5JTkcKY29uc3QgbGwgTU9EID0gMTAwMDAwMDAwNzsKCnZvaWQgc29sdmUoKQp7CiAgICBzdHJpbmcgczsKICAgIGdldGxpbmUoY2luLCBzKTsKICAgIHN0cmluZ3N0cmVhbSBzcyhzKTsKICAgIHN0cmluZyB4OwogICAgd2hpbGUgKHNzID4+IHgpCiAgICB7CiAgICAgICAgY2hhciBpID0geC5mcm9udCgpOwogICAgICAgIGlmKHhbMF08OTcpewogICAgICAgICAgICB4WzBdKz0zMjsKICAgICAgICB9CiAgICAgICAgeC5wdXNoX2JhY2soeC5mcm9udCgpKTsKICAgICAgICB4LmVyYXNlKHguYmVnaW4oKSk7CiAgICAgICAgaWYgKGkgPCA5NykKICAgICAgICB7CiAgICAgICAgICAgIHhbMF0gLT0gMzI7CiAgICAgICAgfQogICAgICAgIHggKz0gInN1aSI7CiAgICAgICAgY291dCA8PCB4IDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKfQoKaW50IG1haW4oKQp7CiAgICBCdXN0YW55OwogICAgaW50IHQgPSAxOwogICAgY2luID4+IHQ7CiAgICBjaW4uaWdub3JlKCk7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=