#include // #include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main(){ vector Ast(8); rep(i, 8) cin >> Ast[i]; vector> A(8,vector(8)); rep(i, 8){ rep(j, 8){ A[i][j] = Ast[i][j]-'0'; } } set, int>> vis; queue, int>> q; q.push({A[0],1}); vis.insert({A[0],1}); while(!q.empty()){ auto [crr, crr_idx] = q.front(); q.pop(); if(crr_idx == 8){ bool zero = true; rep(i,8){ if(crr[i] != 0) zero = false; } if(zero){ cout << "Yes" << endl; return 0; } continue; } rep(times, 8){ vector next_v(8); rep(i, 8){ next_v[i] = crr[(i + times) % 8]; } rep(i, 8){ next_v[i] -= A[crr_idx][i]; } if(!vis.count({next_v, crr_idx + 1})){ vis.insert({next_v, crr_idx + 1}); q.push({next_v, crr_idx + 1}); } } } cout << "No" <