#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
int score = 0;
int num_len = 0;//数字长度
int sign_len = 0;//符号长度
int big_len = 0;//大写字母的数量
int small_len = 0;//小写字母的数量
int max_reward = 0;//最大奖励
int reward1 = 0;
int reward2 = 0;
int reward3 = 0;
while(cin >> str){
int str_len = str.size();
for(int i = 0; i < str_len; i++)
{
if(str[i] >= '0' && str[i] <= '9'){
num_len++;
}
else if(str[i] >= 'A' && str[i] <= 'Z'){
big_len++;
}
else if(str[i] >= 'a' && str[i] <= 'z'){
small_len++;
}
else if((str[i] >=0x21 && str[i] <= 0x2F)||(str[i] >=0x3A && str[i] <= 0x40)||
(str[i] >=0x5B && str[i] <= 0x60)||(str[i] >=0x7B && str[i] <= 0x7E))
{
sign_len++;
}
}
//密码长度
if(str_len <= 4){
score = 5;
}
else if(str_len >= 5 && str_len <= 7){
score = 10;
}
else{
score = 25;
}
//字母
if((big_len != 0 && small_len == 0)||(big_len == 0 && small_len != 0)){
score = score + 10;
}
else if((big_len != 0) && (small_len != 0)){
score = score + 20;
}
//数字
if(num_len == 1){
score = score + 10;
}
else if(num_len > 1){
score = score + 20;
}
//符号
if(sign_len == 1){
score = score + 10;
}
else if(sign_len > 1){
score = score + 25;
}
//奖励
if(((big_len != 0) || (small_len != 0)) && num_len != 0){
reward1 = 2;
}
if(((big_len != 0) || (small_len != 0)) && (num_len != 0) && sign_len != 0){
reward2 = 3;
}
if(((big_len != 0) && (small_len != 0)) && (num_len != 0) && sign_len != 0){
reward3 = 5;
}
if(reward3 != 0)
{
max_reward = reward3;
}
else{
max_reward = max(reward1,reward2);
}
score += max_reward;
if(score >= 90){
cout<<"VERY_SECURE"<<endl;
}
if(score >= 80 && score < 90){
cout<<"SECURE"<<endl;
}
if(score >= 70 && score < 80){
cout<<"VERY_STRONG"<<endl;
}
if(score >= 60 && score < 70){
cout<<"STRONG"<<endl;
}
if(score >= 50 && score < 60){
cout<<"AVERAGE"<<endl;
}
if(score >= 25 && score < 50){
cout<<"WEAK"<<endl;
}
if(score >= 0 && score < 25){
cout<<"VERY_WEAK"<<endl;
}
}
return 0;
}
#include <string>
using namespace std;
int main(){
string str;
int score = 0;
int num_len = 0;//数字长度
int sign_len = 0;//符号长度
int big_len = 0;//大写字母的数量
int small_len = 0;//小写字母的数量
int max_reward = 0;//最大奖励
int reward1 = 0;
int reward2 = 0;
int reward3 = 0;
while(cin >> str){
int str_len = str.size();
for(int i = 0; i < str_len; i++)
{
if(str[i] >= '0' && str[i] <= '9'){
num_len++;
}
else if(str[i] >= 'A' && str[i] <= 'Z'){
big_len++;
}
else if(str[i] >= 'a' && str[i] <= 'z'){
small_len++;
}
else if((str[i] >=0x21 && str[i] <= 0x2F)||(str[i] >=0x3A && str[i] <= 0x40)||
(str[i] >=0x5B && str[i] <= 0x60)||(str[i] >=0x7B && str[i] <= 0x7E))
{
sign_len++;
}
}
//密码长度
if(str_len <= 4){
score = 5;
}
else if(str_len >= 5 && str_len <= 7){
score = 10;
}
else{
score = 25;
}
//字母
if((big_len != 0 && small_len == 0)||(big_len == 0 && small_len != 0)){
score = score + 10;
}
else if((big_len != 0) && (small_len != 0)){
score = score + 20;
}
//数字
if(num_len == 1){
score = score + 10;
}
else if(num_len > 1){
score = score + 20;
}
//符号
if(sign_len == 1){
score = score + 10;
}
else if(sign_len > 1){
score = score + 25;
}
//奖励
if(((big_len != 0) || (small_len != 0)) && num_len != 0){
reward1 = 2;
}
if(((big_len != 0) || (small_len != 0)) && (num_len != 0) && sign_len != 0){
reward2 = 3;
}
if(((big_len != 0) && (small_len != 0)) && (num_len != 0) && sign_len != 0){
reward3 = 5;
}
if(reward3 != 0)
{
max_reward = reward3;
}
else{
max_reward = max(reward1,reward2);
}
score += max_reward;
if(score >= 90){
cout<<"VERY_SECURE"<<endl;
}
if(score >= 80 && score < 90){
cout<<"SECURE"<<endl;
}
if(score >= 70 && score < 80){
cout<<"VERY_STRONG"<<endl;
}
if(score >= 60 && score < 70){
cout<<"STRONG"<<endl;
}
if(score >= 50 && score < 60){
cout<<"AVERAGE"<<endl;
}
if(score >= 25 && score < 50){
cout<<"WEAK"<<endl;
}
if(score >= 0 && score < 25){
cout<<"VERY_WEAK"<<endl;
}
}
return 0;
}