#include <iostream>
using namespace std;
bool isChecked(string code){
if (code.size()<6 || code.size()>12)
{
return false;
}
bool hasBigger = true;
bool hasSmaller = true;
bool hasNumber = true;
bool hasSpecial = true;
for (int i = 0; i < code.size(); ++i)
{
if (code[i]>='a' && code[i]<='z')
{
hasSmaller = true;
}else if(code[i]>='A' && code[i]<='Z'){
hasBigger = true;
}else if (code[i]>='0' && code[i]<='9')
{
hasNumber = true;
}else if (code[i]=='!' || code[i]=='@' || code[i]=='#' || code[i]=='$')
{
hasSpecial = true;
}else{
return false;
}
}
if (hasBigger+hasSmaller+hasNumber>=2 && hasSpecial)
{
return true;
}else{
return false;
}
}
int main() {
string ss;
getline(cin,ss);
string code = "";
for (int i = 0; i < ss.size(); ++i)
{
if (ss[i] == ',')
{
if (isChecked(code)) //合法的
{
cout<<code<<endl;
code="";//重置待检查密码
}
}else{
code = code+ss[i];
}
}
//特别注意一个case: 如果只有一个密码,没有,时的情况
if (code != "")
{
if (isChecked(code))
{
cout<<code<<endl;
code="";//重置待检查密码
}
}
return 0;
}