#include <iostream>
#include <regex>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
regex java("([a-z]+[A-Z]*[a-z]*)+");
regex cpp("([a-z]+[_]?[a-z]+)+");
regex mayus("[A-Z]");
char palabra2[100];
while (scanf("%s", palabra2)!=EOF)
{
string palabra=palabra2;
if (regex_match(palabra,java)==false && regex_match(palabra,cpp)==false)
{
cout << "Error!" << endl;
}
else if (regex_match(palabra,cpp))
{
for (int i = 0; i < palabra.length(); i++)
{
if (palabra[i]=='_')
{
palabra[i+1]=palabra[i+1]-32;
palabra.erase(i,1);
}
}
cout << palabra << endl;
}
else if (regex_match(palabra,java))
{
for (int i = 0; i < palabra.length(); i++)
{
if (palabra[i]>='A' && palabra[i]<='Z')
{
palabra[i]=palabra[i]+32;
palabra.insert(i, "_");
}
}
cout << palabra << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxzdGRpby5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CglyZWdleCBqYXZhKCIoW2Etel0rW0EtWl0qW2Etel0qKSsiKTsKCXJlZ2V4IGNwcCgiKFthLXpdK1tfXT9bYS16XSspKyIpOwoJcmVnZXggbWF5dXMoIltBLVpdIik7CgljaGFyIHBhbGFicmEyWzEwMF07Cgl3aGlsZSAoc2NhbmYoIiVzIiwgcGFsYWJyYTIpIT1FT0YpCgl7CgkJc3RyaW5nIHBhbGFicmE9cGFsYWJyYTI7CgkJaWYgKHJlZ2V4X21hdGNoKHBhbGFicmEsamF2YSk9PWZhbHNlICYmIHJlZ2V4X21hdGNoKHBhbGFicmEsY3BwKT09ZmFsc2UpCgkJewoJCQljb3V0IDw8ICJFcnJvciEiIDw8IGVuZGw7CgkJfQoJCWVsc2UgaWYgKHJlZ2V4X21hdGNoKHBhbGFicmEsY3BwKSkgCgkJewoJCQlmb3IgKGludCBpID0gMDsgaSA8IHBhbGFicmEubGVuZ3RoKCk7IGkrKykKCQkJewoJCQkJaWYgKHBhbGFicmFbaV09PSdfJykKCQkJCXsKCQkJCQlwYWxhYnJhW2krMV09cGFsYWJyYVtpKzFdLTMyOwoJCQkJCXBhbGFicmEuZXJhc2UoaSwxKTsKCQkJCX0KCQkJfQoJCQljb3V0IDw8IHBhbGFicmEgPDwgZW5kbDsKCQl9CgkJZWxzZSBpZiAocmVnZXhfbWF0Y2gocGFsYWJyYSxqYXZhKSkKCQl7CgkJCWZvciAoaW50IGkgPSAwOyBpIDwgcGFsYWJyYS5sZW5ndGgoKTsgaSsrKQoJCQl7CgkJCQlpZiAocGFsYWJyYVtpXT49J0EnICYmIHBhbGFicmFbaV08PSdaJykKCQkJCXsKCQkJCQlwYWxhYnJhW2ldPXBhbGFicmFbaV0rMzI7CgkJCQkJcGFsYWJyYS5pbnNlcnQoaSwgIl8iKTsKCQkJCX0KCQkJfQoJCQljb3V0IDw8IHBhbGFicmEgPDwgZW5kbDsKCQl9Cgl9CglyZXR1cm4gMDsKfQoK