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++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>

using namespace std;
#define sf(n) scanf("%d", &n)
#define pd(n) printf("%.12lf", n)
#define pf(n) printf("%d", n)
#define p() printf("\n")
#define ps() printf(" ")
#define ll long long
#define ull unsigned long long
#define MAX 1e9
#define mod 1000 * 1000 * 1000 + 7
#define pi 3.1415926536
#define ex 1e18
#define dbl 2e09
#define qu(q) queue<int> q
#define pqu(q) priority_queue<int> q
#define len(s) s.length()
#define sz(x) int(x.size())
#define pb(x) push_back(x)
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define fir first
#define sec second

const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;

int main()
{
    string s;
    cin >> s;
    if (s.substr(0, 2) == "00" and s.substr(2, 2) > "12")
        return cout << "NA" << endl, 0;
    if (s.substr(2, 2) == "00" and s.substr(0, 2) > "12")
        return cout << "NA" << endl, 0;
    if (s.substr(2, 2) == "00" and s.substr(0, 2) == "00")
        return cout << "NA" << endl, 0;
    if (s.substr(0, 2) > "12" and s.substr(2, 2) > "12")
        return cout << "NA" << endl, 0;
    if (s.substr(0, 2) <= "12" and s.substr(2, 2) <= "12" and s.substr(2, 2) > "00" and s.substr(0, 2) > "00")
        return cout << "AMBIGUOUS" << endl, 0;
    if (s.substr(0, 2) <= "12" and s.substr(0, 2) > "00")
        cout << "MMYY" << endl;
    else
        cout << "YYMM" << endl;
    return 0;
}