#include <bits/stdc++.h>
using namespace std;
int MoveY[] = {0, 0, 1, -1};
int MoveX[] = {-1, 1, 0, 0};
void printBoard(const vector<vector<int> >& board) {
  int n = board.size();
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (board[i][j] == -1) {
        cout << '.';
      }
      if (board[i][j] == 0) {
        cout << '^';
      }
      if (board[i][j] == 1) {
        cout << 'v';
      }
      if (board[i][j] == 2) {
        cout << '>';
      }
      if (board[i][j] == 3) {
        cout << '<';
      }
    }
    cout << endl;
  }
  cout << "1 1" << endl;
}
void testBoard(vector<vector<int> >& board, int startX, int startY) {
  int res = 0;
  int moves = 0;
  int n = board.size();
  while (true) {
    assert(board[startX][startY] != -1);
    int state = board[startX][startY];
    int dx = MoveX[state];
    int dy = MoveY[state];
    board[startX][startY] = -1;
    bool hasGap = false;
    bool isEnd = false;
    while (true) {
      int newX = startX + dx;
      int newY = startY + dy;
      if (newX < 0 || newX >= n || newY < 0 || newY >= n) {
        board[startX][startY] = state;
        moves++;
        if (hasGap) {
          res++;
        }
        isEnd = true;
        break;
      }
      if (board[newX][newY] == -1) {
        startX = newX;
        startY = newY;
        hasGap = true;
        continue;
      }
      board[startX][startY] = state;
      moves++;
      if (hasGap) {
        res++;
      }
      startX = newX;
      startY = newY;
      break;
    }
    if (false) {
      printBoard(board);
      getchar();
    }
    if (isEnd || moves >= 10000000) {
      break;
    }
  }
  cout << "Moves: " << moves << endl;
  cout << "Result: " << res << endl;
}
int main() {
  int n;
  cin >> n;
  if (n == 3) {
    cout << ">vv" << endl;
    cout << "^<." << endl;
    cout << "^.<" << endl;
    cout << "1 3" << endl;
    return 0;
  }
  if (n == 5) {
    cout << ">...v" << endl;
    cout << "v.<.." << endl;
    cout << "..^.." << endl;
    cout << ">...." << endl;
    cout << "..^.<" << endl;
    cout << "1 1" << endl;
    return 0;
  }
  vector<vector<int> > board(n, vector<int>(n, -1));
  bool isSwap = true;
  for (int k = n - 1; k >= 0; k--) {
    if (isSwap) {
      for (int i = 0; i < n / 2; i++) {
        board[k][i] = 2;
      }
      for (int i = 0; i < n / 4; i++) {
        board[k][n / 2 + 2 * i + 1] = 2;
      }
      board[k][n - 1] = 0;
      if (k != n - 1) {
        board[k][0] = 1;
      }
    } else {
      for (int i = 0; i < n / 2 - 1; i++) {
        board[k][n - i - 1] = 3;
      }
      for (int i = 3; i < n / 2; i += 2) {
        board[k][i] = 3;
      }
      board[k][1] = 0;
      board[k][0] = 1;
    }
    isSwap = !isSwap;
  }
  board[0][1] = 3;
  printBoard(board);
  return 0;
}
