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 Common Lisp (SBCL 1.1.14) (judge verdict: Accepted)

(defun yymm (aa bb)
  (let ((am (and (<= 1 aa) (<= aa 12)))
        (bm (and (<= 1 bb) (<= bb 12))))
    (cond ((and am bm) "AMBIGUOUS")
          (am "MMYY")
          (bm "YYMM")
          (t "NA"))))

(defun w_yymm (str)
  (if (not (= (length str) 4)) "NA"
    (let ((num (read-from-string str)))
      (if (not (numberp num)) "NA"
        (multiple-value-bind (aa bb) (floor num 100)
          (yymm aa bb))))))
#|
(print (yymm 17 00))
(print (yymm 01 12))
(print (yymm 19 05))
(print (w_yymm "abc"))
(print (w_yymm "123"))
(print (w_yymm "1700"))
(print (w_yymm "0112"))
(print (w_yymm "1905"))
(print (w_yymm "0000"))
|#

(let ((str (read-line)))
  (format t (w_yymm str)))