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