#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LONG_INF 10000000000000000 #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) int hoge[5][5] = {}; int main() { REP(i, 4) { REP(q, 4) { cin >> hoge[i][q]; } } returning:; for (int i = 0;i < 4;++i) { for (int q = 0;q < 4;++q) { if (hoge[i][q] == 0) { if (i != 0 && hoge[i - 1][q] == i * 4 + q + 1) { swap(hoge[i - 1][q], hoge[i][q]); goto returning; } if (q != 0 && hoge[i][q - 1] == i * 4 + q + 1) { swap(hoge[i][q-1], hoge[i][q]); goto returning; } if (hoge[i][q + 1] == i * 4 + q + 1) { swap(hoge[i][q + 1], hoge[i][q]); goto returning; } if (hoge[i+1][q] == i * 4 + q + 1) { swap(hoge[i+1][q], hoge[i][q]); goto returning; } } } } for (int i = 0;i < 4;++i) { for (int q = 0;q < 4;++q) { if (hoge[i][q] != 0&&hoge[i][q] != i * 4 + q + 1) { cout << "No" << endl; return 0; } } } cout << "Yes" << endl; return 0; }