import java.util.Scanner;
/**
* 【密码强度等级】
*
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
char[] chars = nextLine.toCharArray();
int lengthScore = getLengthScore(chars);
int charScore = getCharScore(chars);
int digitScore = getDigitScore(chars);
int specialScore = getSpecialScore(chars);
int rewardScore = getRewardScore(charScore, digitScore, specialScore);
int finalScore = lengthScore + charScore + digitScore + specialScore + rewardScore;
System.out.println(getScoreStandard(finalScore));
}
/**
* 长度分数
*
* @param chars
* @return
*/
public static int getLengthScore(char[] chars) {
if (chars.length <= 4) {
return 5;
} else if (chars.length <= 7) {
return 10;
} else {
return 25;
}
}
/**
* 字母分数
*
* @param chars
* @return
*/
public static int getCharScore(char[] chars) {
boolean hasUpperLetter = false;
boolean hasLowerLetter = false;
for (char aChar : chars) {
if (Character.isUpperCase(aChar)) {
hasUpperLetter = true;
}
if (Character.isLowerCase(aChar)) {
hasLowerLetter = true;
}
}
return hasLowerLetter && hasUpperLetter? 20 : ((hasLowerLetter || hasUpperLetter? 10 : 0));
}
/**
* 数字分数
*
* @param chars
* @return
*/
public static int getDigitScore(char[] chars) {
int digitCount = 0;
for (char aChar : chars) {
if (Character.isDigit(aChar)) {
digitCount++;
}
}
return digitCount == 0? 0 : (digitCount == 1? 10 : 20);
}
/**
* 符号分数
*
* @param chars
* @return
*/
public static int getSpecialScore(char[] chars) {
int specialCount = 0;
for (char aChar : chars) {
if (!Character.isLetter(aChar) && !Character.isDigit(aChar)) {
specialCount++;
}
}
return specialCount == 0? 0 : (specialCount == 1? 10 : 25);
}
/**
* 奖励分数
*
* @param charScore
* @param digitScore
* @param specialScore
* @return
*/
public static int getRewardScore(int charScore, int digitScore, int specialScore) {
if (charScore == 20 && digitScore > 0 && specialScore > 0) {
return 5;
}
if (charScore == 10 && digitScore > 0 && specialScore > 0) {
return 3;
}
if (charScore > 0 && digitScore > 0) {
return 2;
}
return 0;
}
/**
* 输出评分等级
*
* @param finalScore
* @return
*/
public static String getScoreStandard(int finalScore) {
if (finalScore >= 0 && finalScore < 25) {
return "VERY_WEAK";
}
if (finalScore >= 25 && finalScore < 50) {
return "WEAK";
}
if (finalScore >= 50 && finalScore < 60) {
return "AVERAGE";
}
if (finalScore >= 60 && finalScore < 70) {
return "STRONG";
}
if (finalScore >= 70 && finalScore < 80) {
return "VERY_STRONG";
}
if (finalScore >= 80 && finalScore < 90) {
return "SECURE";
}
return "VERY_SECURE";
}
}