Problem:
Score : 100 points

Problem Statement

You are given a string S as input. This represents a valid date in the year 2019 in the yyyy/mm/dd format. (For example, April 30, 2019 is represented as 2019/04/30.)

Write a program that prints Heisei if the date represented by S is not later than April 30, 2019, and prints TBD otherwise.

Constraints

S is a string that represents a valid date in the year 2019 in the yyyy/mm/dd format.

Input

Input is given from Standard Input in the following format:

S

Output

Print Heisei if the date represented by S is not later than April 30, 2019, and print TBD otherwise.

Sample Input 1

2019/04/30

Sample Output 1

Heisei

Sample Input 2

2019/11/01

Sample Output 2

TBD

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll , ll> P;
typedef pair<ll, ll> PL;
const ll INT_INF = 2147483646;
const ll ll_INF = 9223372036854775807;
ll mod = 1e9+7;

bool SecondCompare(const pair<ll,ll> &a,const pair<ll,ll> &b)
{
	       return a.second<b.second;
}
 
bool SecondCompareDes(const pair<ll,ll> &a,const pair<ll,ll> &b)
{
	       return a.second>b.second;
}

ll gcd(ll big, ll small){
    ll tmp = big%small;

    if(tmp == 0) return small;
    return gcd(small,tmp);
}

int main(){
    string s;
    cin >> s;
    string yy = "2019",mm = "04",dd="30";

    for(int i = 0; i < 4; i++){
        if(s[i] > yy[i]){
            cout << "TBD\n";
            return 0;
        }
    }
    for(int i = 0; i < 2; i++){
        if(s[5+i] > mm[i]){
            cout << "TBD\n";
            return 0;
        }
    }
    for(int i = 0; i < 2; i++){
        if(s[8+i] > dd[i]){
            cout << "TBD\n";
            return 0;
        }
    }

    cout << "Heisei\n";

}