#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(void) { int velkost, i, ii, poc, pom, pom1, pom2; char pis[1010][1010]; char c; scanf("%d\n", &velkost); while (velkost != 0) { poc = 0; vector < pair > hah(1000008); for (i = 0; i < velkost; i++) { for (ii = 0; ii < velkost; ii++) { scanf("%c", &c); if (c == 'O') { hah[poc].first = i; hah[poc].second = ii; poc++; } } c = getchar(); } for (i = 0; i < velkost; i++) { for (ii = 0; ii < velkost; ii++) { scanf("%c", &pis[i][ii]); } c = getchar(); } vector < pair >::iterator iii; hah.resize(poc); for (i = 0; i < 4; i++) { for (ii = 0; ii < poc; ii++) { pom1 = hah[ii].first; pom2 = hah[ii].second; printf("%c", pis[pom1][pom2]); pom = hah[ii].first; hah[ii].first = hah[ii].second; hah[ii].second = velkost-pom-1; } sort(hah.begin(), hah.end()); } printf("\n"); scanf("%d\n", &velkost); } return 0; }