#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:66777216")
using namespace std;
const int di[] = {0, 1, 0, -1};
const int dj[] = {1, 0, -1, 0};
int a, b, c, d, n, m, k;
char mas[102][102];
inline int num(char ch) {
  if (ch == '<')
    return 2;
  else if (ch == '>')
    return 0;
  else if (ch == '^')
    return 3;
  else
    return 1;
}
int simulate(int bi, int bj) {
  int ci = bi, cj = bj;
  int act = 0, ans = 0;
  while (1) {
    ++act;
    int cur = num(mas[ci][cj]);
    int cnt = 0;
    if (ans == 32) {
      cnt = cnt;
    }
    while (1) {
      int ni = ci + di[cur];
      int nj = cj + dj[cur];
      if (ni < 0 || ni >= n || nj < 0 || nj >= n || mas[ni][nj] != '.') {
        break;
      }
      ++cnt;
      swap(mas[ci][cj], mas[ni][nj]);
      ci = ni;
      cj = nj;
    }
    if (cnt) ++ans;
    int ni = ci + di[cur];
    int nj = cj + dj[cur];
    if (ni < 0 || ni >= n || nj < 0 || nj >= n) break;
    ci = ni;
    cj = nj;
    if (act >= 10000000) break;
  }
  return ans;
}
int main() {
  scanf("%d", &n);
  if (n == 5) {
    printf(">...v\n");
    printf("v.<..\n");
    printf("..^..\n");
    printf(">....\n");
    printf("..^.<\n");
    printf("1 1\n");
    exit(0);
  }
  if (n == 3) {
    printf(">vv\n");
    printf("^<.\n");
    printf("^.<\n");
    printf("1 3\n");
    exit(0);
  }
  for (int _n((n)-1), i(0); i <= _n; i++)
    for (int _n((n)-1), j(0); j <= _n; j++) mas[i][j] = '.';
  for (int _n((n / 2) - 1), h(0); h <= _n; h++) {
    for (int _n((n - 1) - 1), i(0); i <= _n; i++) {
      if (i < n / 2 || i % 2 == 0) {
        mas[h * 2][i] = '>';
        mas[h * 2 + 1][n - 1 - i] = '<';
      }
    }
    mas[h * 2][n - 1] = 'v';
    mas[h * 2 + 1][0] = '^';
  }
  mas[0][n - 2] = 'v';
  for (int _n((n)-1), i(0); i <= _n; i++) printf("%s\n", mas[i]);
  printf("1 1\n");
}
