#include <bits/stdc++.h>
using namespace std;
bool check(string s) {
bool hasUpper = false, hasLower = false, hasDigit = false, hasSymbol = false;
// 判断规则 1
for (int i = 0; i < s.size(); i++) {
if (isupper(s.at(i))) {
hasUpper = true;
} else if (islower(s.at(i))) {
hasLower = true;
} else if (isdigit(s.at(i))) {
hasDigit = true;
} else if (s.at(i) == '!' || s.at(i) == '@'
|| s.at(i) == '#' || s.at(i) == '$') {
hasSymbol = true;
} else {
return false;
}
}
// 判断规则 2
if (s.size() < 6 || s.size() > 12) {
return false;
}
// 判断规则 3
if (hasUpper + hasLower + hasDigit < 2) return false;
if (hasSymbol == false) return false;
return true;
}
int main() {
string line, s;
getline(cin, line);
line.push_back(',');
for (int i = 0; i < line.size(); i++) {
if (line.at(i) != ',') {
s.push_back(line.at(i));
} else {
if (check(s)) {
cout << s << endl;
}
s.clear();
}
}
return 0;
}