#include #include using namespace std; #define ll long long char flip(char c) { switch(c) { case '<': return '>'; case '>': return '<'; case '/': return '\\'; case '\\': return '/'; default: return c; } } char rotate(char c) { switch(c) { case '<': return 'v'; case '>': return '^'; case 'v': return '>'; case '^': return '<'; case '|': return '-'; case '-': return '|'; case '/': return '\\'; case '\\': return '/'; default: return c; } } int main() { ll N; char c; while(cin >> N) { char m[N][N]; for(ll i =0; i> c; m[i][j] = c; } //cin >> c; } int t = 1, l = 2; cin >> c; while(c != 10) { switch(c) { case '<': l = (l+1)%4; t = (t+1)%4; break; case '>': l = (l+3)%4; t = (t+3)%4; break; case '-': if(l%2==1) l = (l+2)%4; if(t%2==1) t = (t+2)%4; break; case '|': if(l%2==0) l = (l+2)%4; if(t%2==0) t = (t+2)%4; break; case '/': if(l%2==0) l = (l+1)%4; else l = (l+3)%4; if(t%2==0) t = (t+1)%4; else t = (t+3)%4; break; case '\\': if(l%2==1) l = (l+1)%4; else l = (l+3)%4; if(t%2==1) t = (t+1)%4; else t = (t+3)%4; break; } c = getchar(); } //printf("%i %i\n", t, l); char f[N][N]; if((l+1)%4 == t) for(ll i =0; i 0) for(ll i =0; i 1) for(ll i =0; i 2) for(ll i =0; i