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: Wrong Answer)

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <string>
#include <numeric>
#include <cmath>

#define rep(i, n) for (int i = 0; i < n; i++)
using namespace std;
typedef long long ll;
using P = pair<ll, ll>;

template<class T> inline bool chmin(T& a,T b) {if (a > b) {a = b; return true;} return false;}
template<class T> inline bool chmax(T& a,T b) {if (a < b) {a = b; return true;} return false;}

const ll MOD = 1000000007;
const int INF = 1<<29;
//const ll INF = (ll)1e18 + 1;

int main(){
  string S; cin >> S;
  string tmp_pre, tmp_post;
  int N = S.size();
  for (int i = 0; i < 2; ++i){
    tmp_pre += S[i];
    tmp_post += S[i + 2];
  }
  int pre, post;
  for (int i = 0; i < 2; ++i){
    pre += pow(10, -i + 1) * (tmp_pre[i] - '0');
    post += pow(10, -i + 1) * (tmp_post[i] - '0');
  }

  bool pre_MM = false, post_MM = false;
  if (pre >= 1 && pre <= 12) pre_MM = true;
  if (post >= 1 && post <= 12) post_MM = true;

  if (pre_MM && post_MM) cout << "AMBIGIOUS" << endl;
  else if (pre_MM && !post_MM) cout << "MMYY" << endl;
  else if (!pre_MM && post_MM) cout << "YYMM" << endl;
  else cout << "NA" << endl;
}