#include using namespace std; using ll = int64_t; using ull = uint64_t; ll get_number() { int N; cin >> N; string line; cin >> line; int prev_index = line.find("#"); ll num = 1; for (int i = 1; i < N; ++i) { cin >> line; int index = line.find("#"); if (index < prev_index) num = num*2 + 1; else num = num*2; prev_index = index; } return num; } void print(ll num) { vector indices = {0}; int min_i = 0, max_i = 0; while (num > 1) { int new_i = indices.back(); if (num % 2 == 0) new_i -= 1; if (num % 2 == 1) new_i += 1; num >>= 1; min_i = min(min_i, new_i); max_i = max(max_i, new_i); indices.push_back(new_i); } cout << indices.size() << "\n"; for (int i = indices.size()-1; i >= 0; --i) { string outs(max_i - min_i + 1, '.'); outs[indices[i] - min_i] = '#'; cout << outs << "\n"; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); // cout << setprecision(20); ll a = get_number(); ll b = get_number(); print(a + b); return 0; }