#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include constexpr int MOD{1'000'000'007}; constexpr int MOD2{998'244'353}; constexpr int INF{1'000'000'000}; //1e9 constexpr int NIL{-1}; constexpr long long LINF{1'000'000'000'000'000'000}; // 1e18 constexpr long double EPS{1E-10L}; using namespace std::literals; namespace ranges = std::ranges; namespace views = ranges::views; template bool chmax(T &a, const S &b){ if(a < b){a = b; return true;} return false; } template bool chmin(T &a, const S &b){ if(b < a){a = b; return true;} return false; } template bool inside(T x, T lx, T rx){ //semi-open return (ranges::clamp(x, lx, rx-1) == x); } template bool inside(T x, T y, T lx, T rx, T ly, T ry){ return inside(x, lx, rx) && inside(y, ly, ry); } template void print_contariner(Container &c, std::string sep = " "s, std::string end = "\n"s){ for(int i{int(std::size(c))}; auto e: c) std::cout << e << (--i ? sep : end); } int main(){ std::cout << ([](){ std::vector S(3); for(auto &e: S) std::cin >> e; for(int i{0}; i < 3; ++i) for(int j{0}; j < 3; ++j){ if(i && S[i][j] != S[i-1][j]) return false; if(j && S[i][j] != S[i][j-1]) return false; } return true; }() ? "Yes" : "No") << std::endl; return 0; }