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 Scala (2.11.7) (judge verdict: Accepted)

import java.util.Scanner

object Main extends App  {
  val sc = new Scanner(System.in)

  val s = sc.next

  val s1 = s.substring(0,2).toInt
  val s2 = s.substring(2).toInt

  val res = (isYYMM(s1, s2), isMMYY(s1,s2)) match{
    case (true, true) => "AMBIGUOUS"
    case (true, false) => "YYMM"
    case (false, true) => "MMYY"
    case (false, false) => "NA"
  }


  println(res)

  def isMonth(mm:Int):Boolean={
    1 <= mm && mm <= 12
  }

  def isYear(yy: Int): Boolean={
    0 <= yy && yy <= 99
  }

  def isYYMM(s1: Int, s2: Int) :Boolean ={
    isYear(s1) && isMonth(s2)
  }

  def isMMYY(s1: Int, s2: Int) :Boolean ={
    isMonth(s1) && isYear(s2)
  }

}