39 lines
741 B
Plaintext
39 lines
741 B
Plaintext
|
#include <iostream>
|
||
|
#include <string>
|
||
|
|
||
|
bool IsGood(const std::string& pas) {
|
||
|
if (pas.size() < 8 || pas.size() >14) {
|
||
|
return false;
|
||
|
}
|
||
|
int a = 0;
|
||
|
int b = 0;
|
||
|
int x = 0;
|
||
|
int d = 0;
|
||
|
|
||
|
for (char c : pas) {
|
||
|
if (c < 33 || c > 126) {
|
||
|
return false;
|
||
|
}
|
||
|
if ('A' <= c && c <= 'Z') {
|
||
|
a = 1;
|
||
|
} else if ('a' <= c && c <= 'z') {
|
||
|
b = 1;
|
||
|
} else if ('0' <= c && c <= '9') {
|
||
|
x = 1;
|
||
|
} else {
|
||
|
d = 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return (a + b + x + d >= 3);
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
std::string pas;
|
||
|
std::getline(std::cin, pas);
|
||
|
if (IsGood(pas)) {
|
||
|
std::cout << "YES\n";
|
||
|
} else {
|
||
|
std::cout << "NO\n";
|
||
|
}
|
||
|
}
|