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 Go (1.6) (judge verdict: Accepted)

package main

import (
  "fmt"
  "strconv"
)

func main() {
  var s string
  fmt.Scan(&s)
  
  n1, _ := strconv.Atoi(s[0:2])
  n2, _ := strconv.Atoi(s[2:])
  
  fmt.Println(ret(n1,n2))
}
      
func ret(n1, n2 int) string {
  if n1 == 0 {
    switch {
    case n2 == 0:
      return "NA"
    case 1 <= n2 && n2 <= 12:
      return "YYMM"
    case 13 <= n2:
      return "NA"
    }
  }
  if 1 <= n1 && n1 <= 12 {
    switch {
    case n2 == 0:
      return "MMYY"
    case 1 <= n2 && n2 <= 12:
      return "AMBIGUOUS"
    case 13 <= n2:
      return "MMYY"
    }
  }
  if 13 <= n1 {
    switch {
    case n2 == 0:
      return "NA"
   	case 1 <= n2 && n2 <= 12:
      return "YYMM"
    case 13 <= n2:
      return "NA"
    }
  }
  return "NA"
}