#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector <string> split(string s, char p = '.') {
vector <string> result;
string word = "";
s += p;
for (char c : s) {
if (c == p) {
result.push_back(word);
word = "";
} else {
word += c;
}
}
return result;
}
bool check_if_num (string s) {
if (s.empty()) return false;
for (char c : s) {
if (!isdigit(c)) {
return false;
}
}
return true;
}
int count_dots(string s) {
int result = 0;
for (char c : s) {
if (c == '.') {result++;}
}
return result;
}
int main() {
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
string s;
cin >> s;
if (count_dots(s) != 3 || s[s.size() - 1] == '.') {
cout << "NO";
return 0;
}
for (string w : split(s)) {
string copy_without_zero = "";
for (char c : w) {if (c != '0') {copy_without_zero += c;}}
if (copy_without_zero.size() > 3) {
cout << "Bad";
return 0;
} else if (!check_if_num(w)) {
cout << "Bad";
return 0;
}
int num = stoi(w);
if (num < 0 || num > 255) {
cout << "Bad";
return 0;
}
}
cout << "Good";
return 0;
}
CgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3IgPHN0cmluZz4gc3BsaXQoc3RyaW5nIHMsIGNoYXIgcCA9ICcuJykgewogICAgdmVjdG9yIDxzdHJpbmc+IHJlc3VsdDsKICAgIAogICAgc3RyaW5nIHdvcmQgPSAiIjsKICAgIHMgKz0gcDsKICAgIAogICAgZm9yIChjaGFyIGMgOiBzKSB7CiAgICAgICAgaWYgKGMgPT0gcCkgewogICAgICAgICAgICByZXN1bHQucHVzaF9iYWNrKHdvcmQpOwogICAgICAgICAgICB3b3JkID0gIiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgd29yZCArPSBjOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIHJlc3VsdDsKfQoKYm9vbCBjaGVja19pZl9udW0gKHN0cmluZyBzKSB7CiAgICBpZiAocy5lbXB0eSgpKSByZXR1cm4gZmFsc2U7CiAgICAKICAgIGZvciAoY2hhciBjIDogcykgewogICAgICAgIGlmICghaXNkaWdpdChjKSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSAgICAgICAKICAgIH0KICAgIAogICAgcmV0dXJuIHRydWU7Cn0KCmludCBjb3VudF9kb3RzKHN0cmluZyBzKSB7CiAgICBpbnQgcmVzdWx0ID0gMDsKICAgIAogICAgZm9yIChjaGFyIGMgOiBzKSB7CiAgICAgICAgaWYgKGMgPT0gJy4nKSB7cmVzdWx0Kys7fQogICAgfQogICAgCiAgICByZXR1cm4gcmVzdWx0Owp9CgppbnQgbWFpbigpIHsKCWNpbi50aWUobnVsbHB0cik7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CiAgICBpZiAoY291bnRfZG90cyhzKSAhPSAzIHx8IHNbcy5zaXplKCkgLSAxXSA9PSAnLicpIHsKICAgICAgICBjb3V0IDw8ICJOTyI7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBmb3IgKHN0cmluZyB3IDogc3BsaXQocykpIHsKICAgIAlzdHJpbmcgY29weV93aXRob3V0X3plcm8gPSAiIjsKICAgIAlmb3IgKGNoYXIgYyA6IHcpIHtpZiAoYyAhPSAnMCcpIHtjb3B5X3dpdGhvdXRfemVybyArPSBjO319CiAgICAJCiAgICAgICAgaWYgKGNvcHlfd2l0aG91dF96ZXJvLnNpemUoKSA+IDMpIHsKICAgICAgICAgICAgY291dCA8PCAiQmFkIjsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfSBlbHNlIGlmICghY2hlY2tfaWZfbnVtKHcpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkJhZCI7CiAgICAgICAgICAgIHJldHVybiAwOyAgIAogICAgICAgIH0gCiAgICAgICAgCiAgICAgICAgaW50IG51bSA9IHN0b2kodyk7CiAgICAgICAgCiAgICAgICAgaWYgKG51bSA8IDAgfHwgbnVtID4gMjU1KSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkJhZCI7CiAgICAgICAgICAgIHJldHVybiAwOyAKICAgICAgICB9CiAgICB9CiAgICAKICAgIGNvdXQgPDwgIkdvb2QiOwogICAgCiAgICByZXR1cm4gMDsKfQ==