#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const long long INF = 100000000; const long long MOD = 1000000007; std::vector IsPrime; void sieve(size_t max) { if (max + 1 > IsPrime.size()) { // resizeで要素数が減らないように IsPrime.resize(max + 1, true); // IsPrimeに必要な要素数を確保 } IsPrime[0] = false; // 0は素数ではない IsPrime[1] = false; // 1は素数ではない for (size_t i = 2; i * i <= max; ++i) // 0からsqrt(max)まで調べる if (IsPrime[i]) // iが素数ならば for (size_t j = 2; i * j <= max; ++j) // (max以下の)iの倍数は IsPrime[i * j] = false; // 素数ではない } class Pointer{ public: long long p; long long w; }; int main() { int a, b, c, d, e, f; cin >> a >> b >> c>>d>>e>>f; if((a+c+e)%2!=0) cout << ":-(" << endl; else cout << ":-)" << endl; }