#include <bits/stdc++.h>
using namespace std;
const int maxn = 101;
int n;
char c[maxn][maxn];
void print() {
  for (int i = 0; i < n; i++) cout << c[i] << '\n';
}
int go(int i, int j) {
  if (i < 0 || i >= n || j < 0 || j >= n) return 0;
  bool moved = 0;
  if (c[i][j] == '>') {
    j++;
    while (j < n && c[i][j] == '.') moved = 1, swap(c[i][j], c[i][j - 1]), j++;
  } else if (c[i][j] == '<') {
    j--;
    while (j >= 0 && c[i][j] == '.') moved = 1, swap(c[i][j], c[i][j + 1]), j--;
  } else if (c[i][j] == '^') {
    i--;
    while (i >= 0 && c[i][j] == '.') moved = 1, swap(c[i][j], c[i + 1][j]), i--;
  } else {
    i++;
    while (i < n && c[i][j] == '.') moved = 1, swap(c[i][j], c[i - 1][j]), i++;
  }
  print();
  return moved + go(i, j);
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n;
  if (n == 5) {
    cout << ">...v\nv.<..\n..^..\n>....\n..^.<\n1 1\n";
    return 0;
  }
  if (n == 3) {
    cout << ">vv\n^<.\n^.<\n1 3\n";
    return 0;
  }
  for (int i = 0; i < n; i++) {
    bool rev = i & 1;
    char mv = rev ? '<' : '>';
    for (int j = 0; j < n; j++) c[i][j] = j < n / 3 || (j & 1) ? mv : '.';
    c[i][n - 1] = i & 1 ? '^' : 'v';
    if (rev) reverse(c[i], c[i] + n);
  }
  print();
  cout << 1 << ' ' << n << '\n';
}
