/** * code generated by JHelper * More info: https://github.com/AlexeyDmitriev/JHelper * @author zjsdut */ #define NDEBUG extern constexpr bool show_all_failed_tests = false; #ifndef CP_UTILS #define CP_UTILS #include #include #include #include #include #include #include #include // // Created by zjsdu on 5/28/2020. // #ifndef JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_ #define JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_ #include #include #include #ifndef JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_ #define JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_ #include #include #include struct fast_ios { fast_ios() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); std::cout.precision(10); std::cout << std::fixed; }; } fast_ios_; namespace io { template std::istream &operator>>(std::istream &in, std::tuple &t); template std::istream &operator>>(std::istream &in, std::pair &p) { in >> p.first >> p.second; return in; } template std::istream &operator>>(std::istream &stream, std::vector &vec) { for (auto &x : vec) stream >> x; return stream; } template std::istream &operator>>(std::istream &in, const std::tuple &t) { std::apply([&in](auto &... args) { ((in >> args), ...); }, t); return in; } template void scan(Args &... args) { ((std::cin >> args), ...); } template std::ostream &operator<<(std::ostream &out, const std::vector &vec) { bool first = true; for (const T &t : vec) { if (first) first = false; else out << ' '; out << t; } return out; } template std::ostream &operator<<(std::ostream &out, const std::pair &p) { out << p.first << ' ' << p.second; return out; } template std::ostream &operator<<(std::ostream &out, const std::vector> &t) { bool is_first = true; for (const auto &row : t) { if (is_first) is_first = false; else out << '\n'; out << row; } return out; } template void pt(Args &&... args) { ((std::cout << args << ' '), ...); } template void pl(const First &first, const Args &... args) { std::cout << first; ((std::cout << ' ' << args), ...); std::cout << '\n'; } template void pn(const Args &... args) { ((std::cout << args << '\n'), ...); } }// namespace io inline int ri() { int x; std::cin >> x; return x; } #endif// JHELPER_EXAMPLE_PROJECT_LIBRARY_IO_HPP_ using ll = long long; using ull = unsigned long long; using vl = std::vector; using vb = std::vector; using vi = std::vector; using vs = std::vector; using pii = std::pair; using pli = std::pair; using pil = std::pair; using pll = std::pair; using vii = std::vector; template> using pq = std::priority_queue, U>; template using vt = std::vector>; template class vv { std::vector> data; public: explicit vv(int n) { assert(n > 0); data.assign(n, std::vector{}); } vv(int n, int m, T init = T{}) { assert(n > 0 && m > 0); data.assign(n, std::vector(m, init)); } std::vector &operator[](size_t i) { assert(i < data.size()); return data[i]; } void fill(T val) { for (auto &row : data) std::fill(row.begin(), row.end(), val); } friend std::istream &operator>>(std::istream &in, vv &val) { return io::operator>>(in, val.data); } friend std::ostream &operator<<(std::ostream &out, const vv &val) { return io::operator<<(out, val.data); } friend auto begin(vv &val) { return val.data.begin(); } friend auto end(vv &val) { return val.data.end(); } friend auto rbegin(vv &val) { return val.data.rbegin(); } friend auto rend(vv &val) { return val.data.rend(); } }; #define TOKENPASTE(x, y) x##y #define TOKENPASTE2(x, y) TOKENPASTE(x, y) #define rng3(i, a, b) \ for (std::common_type::type \ i = a, \ TOKENPASTE2(r_end_, __LINE__) = b; \ i < TOKENPASTE2(r_end_, __LINE__); ++i) #define rng2(i, n) rng3(i, 0, n) #define GET_MACRO(_1, _2, _3, NAME, ...) NAME #define rng(...) GET_MACRO(__VA_ARGS__, rng3, rng2)(__VA_ARGS__) #define up(i, a, b) \ for (std::common_type::type \ i = a, \ TOKENPASTE2(r_end_, __LINE__) = b; \ i <= TOKENPASTE2(r_end_, __LINE__); ++i) #define down(i, b, a) \ for (std::common_type::type \ i = b, \ TOKENPASTE2(r_end_, __LINE__) = a; \ i >= TOKENPASTE2(r_end_, __LINE__); --i) #define rep(n) \ for (auto TOKENPASTE2(_iter_, __LINE__) = n; \ TOKENPASTE2(_iter_, __LINE__) > 0; --TOKENPASTE2(_iter_, __LINE__)) #define FOR(x, cont) for (const auto &x : cont) #define For(x, cont) for (auto &x : cont) #define ALL(x) begin(x), end(x) // hat off to 300iq #define RALL(x) rbegin(x), rend(x) #define pb push_back #define mp make_pair #define eb emplace_back #define ep emplace #define SZ(x) (int) (x).size() #define rp(...) return pl(__VA_ARGS__) #define rpn(...) return pn(__VA_ARGS__) #define adv(i, n) \ for (auto TOKENPASTE2(_n_, __LINE__) = n; i < TOKENPASTE2(_n_, __LINE__); ++i) #define INT(...) int __VA_ARGS__; scan(__VA_ARGS__) #define LL(...) long long __VA_ARGS__; scan(__VA_ARGS__) #define STR(...) std::string __VA_ARGS__; scan(__VA_ARGS__) #endif// JHELPER_EXAMPLE_PROJECT_LIBRARY_ALIAS_HPP_ inline void Yn(bool p) { std::cout << (p ? "Yes\n" : "No\n"); } inline void YN(bool p) { std::cout << (p ? "YES\n" : "NO\n"); } inline void yn(bool p) { std::cout << (p ? "yes\n" : "no\n"); } template T &inc(T &cont) { for (auto &e : cont) ++e; return cont; } template T &dec(T &cont) { for (auto &e : cont) --e; return cont; } template bool chkmin(A &a, const B &b) { return b < a ? a = b, true : false; } template bool chkmax(A &a, const B &b) { return a < b ? a = b, true : false; } template struct reversion_wrapper { T &iterable; }; template auto begin(reversion_wrapper w) { using std::rbegin; return rbegin(w.iterable); } template auto end(reversion_wrapper w) { using std::rend; return rend(w.iterable); } template reversion_wrapper reverse(T &&iterable) { return {iterable}; } template T ceil(T x, U y) { assert(y > 0); if (x > 0) x += y - 1; return x / y; } template T floor(T x, U y) { assert(y > 0); if (x < 0) x -= y - 1; return x / y; } template struct typelist {}; template constexpr bool any_same = (std::is_same_v || ...); template struct y_combinator { template struct ref { y_combinator &self; template decltype(auto) operator()(Args &&... args) const { using G = std::conditional_t, TLs...>, ref, ref>>; return self.f(G{self}, std::forward(args)...); } }; F f; template decltype(auto) operator()(Args &&... args) { return ref<>{*this}(std::forward(args)...); } }; template y_combinator(F) -> y_combinator; #ifndef debug #define debug(...) 42 #endif #ifndef show #define show(...) 42 #endif using namespace io; using namespace std; #endif// CP_UTILS void solve() { INT (a, b, c); Yn(a%3==0||b%3==0||c%3==0); } /* * Make sure that your laptop is plugged in or the build may be slow. * * Don't settle for a solution if it feels too clunky, take a moment and see if * you can make it simpler. */ int main() { solve(); return 0; }