#include #include #include int r(int a) { return (a+4)%4; } int fc(char c) { if (c == '<') return '>'; if (c == '>') return '<'; if (c == '/') return '\\'; if (c == '\\') return '/'; return c; } int rc(char c, int rot) { static char *cr = "^>v<|-|-/\\/\\"; int i = 0; while (cr[i]) { if (cr[i] == c) return cr[4*(i/4) + (i+rot)%4]; i++; } return c; } int main(int argc, char **argv) { char disp[200][200]; int rot, flip; int ret, size, i, j; while (1) { ret = scanf("%d\n", &size); if (ret < 1) break; for (i=0; i') rot = r(rot + flip); if (c == '-') { flip = -flip; if (rot % 2 == 0) rot = r(rot+2); } if (c == '|') { flip = -flip; if (rot % 2) rot = r(rot+2); } if (c == '\\') { flip = -flip; if (rot % 2) rot = r(rot+1); else rot = r(rot-1); } if (c == '/') { flip = -flip; if (rot % 2) rot = r(rot-1); else rot = r(rot+1); } } if (flip < 0) { for (i = 0; i < size; i++) { for (j = 0; j < size/2; j++) { int t = disp[i][j]; disp[i][j] = disp[i][size-1-j]; disp[i][size-1-j] = t; } } } for (i = 0; i