Problem:
Score : 200 points

Problem Statement

You have a digit sequence S of length 4. You are wondering which of the following formats S is in:

YYMM format: the last two digits of the year and the two-digit representation of the month (example: 01 for January), concatenated in this order

MMYY format: the two-digit representation of the month and the last two digits of the year, concatenated in this order

If S is valid in only YYMM format, print YYMM; if S is valid in only MMYY format, print MMYY; if S is valid in both formats, print AMBIGUOUS; if S is valid in neither format, print NA.

Constraints

S is a digit sequence of length 4.

Input

Input is given from Standard Input in the following format:

S

Output

Print the specified string: YYMM, MMYY, AMBIGUOUS or NA.

Sample Input 1

1905

Sample Output 1

YYMM

May XX19 is a valid date, but 19 is not valid as a month. Thus, this string is only valid in YYMM format.

Sample Input 2

0112

Sample Output 2

AMBIGUOUS

Both December XX01 and January XX12 are valid dates. Thus, this string is valid in both formats.

Sample Input 3

1700

Sample Output 3

NA

Neither 0 nor 17 is valid as a month. Thus, this string is valid in neither format.

Solution in Haskell (GHC 7.10.3) (judge verdict: Wrong Answer)

module Main where

import Data.List
import Control.Monad
import Debug.Trace
import Data.Char (isNumber)

isM :: String -> Bool
isM "01" = True
isM "02" = True
isM "03" = True
isM "04" = True
isM "05" = True
isM "06" = True
isM "07" = True
isM "08" = True
isM "09" = True
isM "10" = True
isM "11" = True
isM "12" = True
isM _ = False

isY :: String -> Bool
isY = all isNumber

solve :: String -> String
solve s = if isYYMM && isMMYY then
        "AMBIGOUS"
        else if isYYMM then "YYMM"
        else if isMMYY then "MMYY"
        else "NA"
    where
    first = take 2 s
    second =  take 2 $ drop 2 s
    isYYMM = isM second && isY first
    isMMYY = isM first && isY second

main = do
    s <- getLine
    putStrLn $ solve s