#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;
}