#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.";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKI2RlZmluZSBwbGwgcGFpcjxsbCxsbD4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBlbWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgbGcoeCkgX19sZyh4KQojZGVmaW5lIGFsbChzKSBzLmJlZ2luKCkscy5lbmQoKQojZGVmaW5lIG5hbWUgInRlc3QiCiNkZWZpbmUgTWFzayhpKSAoMUxMPDxpKQojZGVmaW5lIHRlc3RiaXQobWFzaywgaSkgKChtYXNrID4+IGkpICYgMUxMKQojZGVmaW5lIG9uQml0KG1hc2ssIGkpIChtYXNrIHwgKDFMTCA8PCBpKSkKI2RlZmluZSBvZmZCaXQobWFzaywgaSkgKG1hc2sgJiB+KDFMTCA8PCBpKSkKI2RlZmluZSBmbGlwQml0KG1hc2ssIGkpIChtYXNrIF4gKDFMTCA8PCBpKSkKI2RlZmluZSBzaG93Yml0KG1hc2ssIHgpIGJpdHNldDx4PihtYXNrKQpjb25zdCBsbCBtb2QgPSAxZTkgKyA3OwoKdm9pZCBhZGQobGwgJmEsIGxsIGIpewogICAgIGlmKChhICs9IGIpID49IG1vZCkgYSAtPSBtb2Q7Cn0KCgpjb25zdCBsbCBpbmYgPSAxZTE4Owpjb25zdCBsbCBsaW0gPSAxZTcgKyA1Owpjb25zdCBsbCBOID0gMmU1ICsgNTsKCmludCBtYWluKCkKewogICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICAgY291dC50aWUoMCk7Y2luLnRpZSgwKTsKICAgICBpZihmb3BlbihuYW1lIi5pbnAiLCJyIikpewogICAgICAgICAgZnJlb3BlbihuYW1lIi5pbnAiLCJyIixzdGRpbik7CiAgICAgICAgICBmcmVvcGVuKG5hbWUiLm91dCIsInciLHN0ZG91dCk7CiAgICAgfQogICAgIGludCBhLCBiLCBjOyBjaW4gPj4gYSA+PiBiID4+IGM7CiAgICAgaWYoYyA8PSAwKSBjb3V0IDw8ICJOYW0ga2hvbmcgaG9wIGxlLiI7CiAgICAgZWxzZSBpZihiIDw9IDAgfHwgYiA+PSAxMykgY291dCA8PCAiVGhhbmcga2hvbmcgaG9wIGxlLiI7CiAgICAgZWxzZXsKICAgICAgICAgIGJvb2wgb2sgPSB0cnVlOwogICAgICAgICAgaWYoKGMgJSA0ID09IDAgJiYgYyAlIDEwMCAhPSAwKSB8fCBjICUgNDAwID09IDApewogICAgICAgICAgICAgICBpZihiID09IDIgJiYgYSA+IDI5KSBvayA9IGZhbHNlOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZihiID09IDIpCiAgICAgICAgICAgICAgICAgICAgaWYoYSA+IDI4KSBvayA9IGZhbHNlOwogICAgICAgICAgaWYoYiA9PSA0IHx8IGIgPT0gNiB8fCBiID09IDkgfHwgYiA9PSAxMSkKICAgICAgICAgICAgICAgaWYoYSA+IDMwIHx8IGEgPD0gMCkgb2sgPSBmYWxzZTsKICAgICAgICAgIGlmKGIgPT0gMSB8fCBiID09IDUgfHwgYiA9PSA3IHx8IGIgPT0gOCB8fCBiID09IDEwIHx8IGIgPT0gMTIpCiAgICAgICAgICAgICAgIGlmKGEgPiAzMSB8fCBhIDw9IDApIG9rID0gZmFsc2U7CgogICAgICAgICAgaWYob2sgPT0gZmFsc2UpIGNvdXQgPDwgYSA8PCAiLyIgPDwgYiA8PCAiLyIgPDwgYyA8PCAiIGxhIG5nYXkga2hvbmcgaG9wIGxlLiI7CiAgICAgICAgICBlbHNlIGNvdXQgPDwgYSA8PCAiLyIgPDwgYiA8PCAiLyIgPDwgYyA8PCAiIGxhIG5nYXkgaG9wIGxlLiI7CiAgICAgfQoKfQ==