#include using namespace std; #define int long long #define vi vector #define ii pair #define fi first #define sc second #define stoi stoll #define popcnt __builtin_popcount #define getbit(x, k) ((x >> k) & 1) #define all(x) (x).begin(),(x).end() #define FOR(i,j,k) for(int i=j; i> n; int x1mn = 205,y1mn = 205,x1mx = 0,y1mx = 0; int x2mn = 205,y2mn = 205,x2mx = 0,y2mx = 0; FOR(i,0,n) FOR(j,0,n){ cin >> a[i][j]; if (a[i][j] == '#'){ x1mn = min(x1mn,j); y1mn = min(y1mn,i); x1mx = max(x1mx,j); y1mx = max(y1mx,i); } } FOR(i,0,n) FOR(j,0,n){ cin >> b[i][j]; if (b[i][j] == '#'){ x2mn = min(x2mn,j); y2mn = min(y2mn,i); x2mx = max(x2mx,j); y2mx = max(y2mx,i); } } if ((x1mx - x1mn == x2mx - x2mn && y1mx - y1mn == y2mx - y2mn) || (x1mx - x1mn == y2mx - y2mn && y1mx - y1mn == x2mx - x2mn)){ int x = x1mx - x1mn + 1; int y = y1mx - y1mn + 1; cuta(x1mn,y1mn,x,y); cutb(x2mn,y2mn,x,y); bool test1 = scan1(x,y) || scan2(x,y); flip(x,y); bool test2 = scan1(x,y) || scan2(x,y); if (test1 || test2) cout << "Yes"; else cout << "No"; cout << '\n'; FOR(i,0,y){ FOR(j,0,x) cout << a[i][j]; cout << '\n'; } cout << '\n'; FOR(i,0,y){ FOR(j,0,x) cout << b[i][j]; cout << '\n'; } return; } cout << "No"; } signed main() { cin.tie(0)->sync_with_stdio(0); freopen("in", "r", stdin); freopen("out", "w", stdout); int T = 1; // cin >> T; while (T--) { solve(); cout << '\n'; } cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; }