import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;

public class Display {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = br.readLine();

        while (line != null) {
            int st = 0;
            int trainees = Integer.parseInt(line);
            HashSet<String> cat = new HashSet<>();
            char[][] disp = new char[trainees][trainees];

            for (int i = 0; i < trainees; i++) {
                line = br.readLine();
                for (int j = 0; j < trainees; j++) {
                    disp[i][j] = line.charAt(j);
                }
            }

            line = br.readLine();

            for (int i = 0; i < line.length(); i++) {
                switch (line.charAt(i)) {
                    case '<':
                        st = left(st);
                        break;
                    case '>':
                        st = right(st);
                        break;
                    case '|':
                        st = swap(st);
                        break;
                    case '-':
                        st = swap(left(left(st)));
                        break;
                    case '\\':
                        st = left(swap(st));
                        break;
                    case '/':
                        st = right(swap(st));
                        break;
                    case ' ':
                        break;
                }

            }

            printArray(disp, st);

            line = br.readLine();
        }
    }

    private static char[][] arrayLeft(char[][] in) {
        int si = in.length;
        char[][] out = new char[si][si];

        for (int i = 0; i < si; i++) {
            for (int j = 0; j < si; j++) {
                out[i][j] = in[si - j][i];
            }
        }
        return out;
    }


    private static void printArray(char[][] arr, int st) {

        int rotate = st % 4;
        for (int i = 0; i < rotate; i++) {
            arr = arrayLeft(arr);
        }
        if (st > 4) {
            arr = arraySwap(arr);
        }
        System.out.print(c);


        int si = arr.length;
        System.out.println(st);
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]);
            }
            System.out.println();
        }
        System.out.println();

    }
    private static char rotateLeftV(char c) {
        switch (c) {
            case '^':
                return '<';
            case '<':
                return 'v';
            case 'v':
                return '>';
            case '>':
                return '^';
        }
        return 'v';
    }

    private static char swapV(char c) {
        switch (c) {
            case '^':
                return '^';
            case '<':
                return '>';
            case 'v':
                return 'v';
            case '>':
                return '<';
        }
        return 'v';
    }

    private static void printChar(char c, int st) {
        switch (c) {
            case 'x':
            case 'o':
                System.out.print(c);
                break;
            case '^':
            case '<':
            case 'v':
            case '>':
                int rotate = st % 4;
                for (int i = 0; i < rotate; i++) {
                    c = rotateLeftV(c);
                }
                if (st > 4) {
                    c = swapV(c);
                }
                System.out.print(c);
                break;
            case '|':
                if (st % 2 == 0)
                    System.out.print('|');
                else
                    System.out.print('-');
            case '-':
                if (st % 2 == 0)
                    System.out.print('-');
                else
                    System.out.print('|');
            case '/':
                System.out.print(c);
        }
    }


    private static int swap(int st) {
        if (st <= 3) {
            st += 4;
        } else {
            st -= 4;
        }
        return st;
    }

    private static int right(int st) {
        return left(left(left(st)));
    }

    private static int left(int st) {
        switch (st) {
            case 0:
            case 1:
            case 2:
                st++;
                break;
            case 3:
                st = 0;
                break;
            case 4:
                st = 4;
                break;
            case 5:
            case 6:
            case 7:
                st--;
                break;
        }
        return st;
    }
}
