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 C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>

#define isMonth(m)	( 1 <= m && m <= 12 )
#define isYear(y)	( !isMonth(y) && 1 <= y )

void main(void)
{
	char str[8], str_top[8];
	int t, b;

	memset(str, 0, sizeof(str));
	scanf("%s", str);
	memcpy(str_top, str, 8);
	str_top[2] = '\0';

	t = atoi(str_top);
	b = atoi(&str[2]);

	if( isMonth(t) && isMonth(b) )
	{
		puts("AMBIGUOUS");
	}
	else if( isYear(t)  && isMonth(b) )
	{
		puts("YYMM");
	}
	else if( isMonth(t)  && isYear(b))
	{
		puts("MMYY");
	}
	else
	{
		puts("NA");
	}
}