func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename TF>   void write_debug_output(ostream &out, TF const &f) {     out << f << std::endl;   }   template <typename TF, typename... TR>   void write_debug_output(ostream &out, TF const &f, TR const &...rest) {     out << f <<    ;     write_debug_output(out, rest...);   }   using ll = long long;   using ull = unsigned long long;   using ld = long double;   using pii = pair<int, int>;   using pll = pair<ll, ll>;   using pdd = pair<double, double>;   using vi = vector<int>;   using vii = vector<pii>;   using vll = vector<ll>;   using vs = vector<string>;   const int DR[] = {-1, 0, 1, 0, -1, 1, 1, -1};   const int DC[] = {0, -1, 0, 1, -1, -1, 1, 1};   const double PI = acos(-1.0);   const double EPS = 1e-9;   const int MOD = 1e9 + 7;   const int INF = 1073741823;   const ll INFLL = 4e18;   const int MAX = 100;   int N, M, aa[MAX + 5], bb[MAX + 5];   void read() {     cin >> N >> M;     for (int i = 0; i < (int)N; i++) cin >> aa[i];     for (int i = 0; i < (int)M; i++) cin >> bb[i];   }   void solve() {     int xorA = 0, xorB = 0;     for (int i = 0; i < (int)N; i++) xorA ^= aa[i];     for (int i = 0; i < (int)M; i++) xorB ^= bb[i];     if (xorA != xorB) {       cout <<  NO n ;       return;     }     cout <<  YES n ;     int b = bb[1];     int c = aa[1];     int a = aa[0] ^ bb[1] ^ (xorB ^ bb[0] ^ bb[1]);     for (int i = 0; i < (int)N; i++) {       for (int j = 0; j < (int)M; j++) {         if (i == 0 && j == 0)           cout << a <<    ;         else if (i == 0 && j == 1)           cout << b <<    ;         else if (i == 1 && j == 0)           cout << c <<    ;         else if (i == 0)           cout << bb[j] <<    ;         else if (j == 0)           cout << aa[i] <<    ;         else           cout <<  0  ;       }       cout <<   n ;     }   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     int TC = 1;     for (int tc = (int)1; tc <= (int)TC; tc++) {       read();       solve();     }   }   