#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define ll long long
#define ull unsigned long long
#define pll pair<ll,ll>
#define pb push_back
#define emb emplace_back
#define lg(x) __lg(x)
#define all(s) s.begin(),s.end()
#define name "test"
#define Mask(i) (1LL<<i)
#define testbit(mask, i) ((mask >> i) & 1LL)
#define onBit(mask, i) (mask | (1LL << i))
#define offBit(mask, i) (mask & ~(1LL << i))
#define flipBit(mask, i) (mask ^ (1LL << i))
#define showbit(mask, x) bitset<x>(mask)
const ll mod = 1e9 + 7;

void add(ll &a, ll b){
     if((a += b) >= mod) a -= mod;
}


const ll inf = 1e18;
const ll lim = 1e7 + 5;
const ll N = 2e5 + 5;

int main()
{
     ios_base::sync_with_stdio(0);
     cout.tie(0);cin.tie(0);
     if(fopen(name".inp","r")){
          freopen(name".inp","r",stdin);
          freopen(name".out","w",stdout);
     }
     int a, b, c; cin >> a >> b >> c;
     if(c <= 0) cout << "Nam khong hop le.";
     else if(b <= 0 || b >= 13) cout << "Thang khong hop le.";
     else{
          bool ok = true;
          if((c % 4 == 0 && c % 100 != 0) || c % 400 == 0){
               if(b == 2 && a > 29) ok = false;
          }
          else if(b == 2)
                    if(a > 28) ok = false;
          if(b == 4 || b == 6 || b == 9 || b == 11)
               if(a > 30 || a <= 0) ok = false;
          if(b == 1 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)
               if(a > 31 || a <= 0) ok = false;

          if(ok == false) cout << a << "/" << b << "/" << c << " la ngay khong hop le.";
          else cout << a << "/" << b << "/" << c << " la ngay hop le.";
     }

}