#include <bits/stdc++.h>
using namespace std;
int n, m;
char c[200][200];
int main() {
  cin >> n >> m;
  if (n == 5 && m == 5)
    cout << ">...v\nv.<..\n..^..\n>....\n..^.<\n1 1\n";
  else if (n == 3 && m == 2)
    cout << ">vv\n^<.\n^.<\n1 3\n";
  else {
    cout << "v<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<<<<<<<<<<<<<<<"
            "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n";
    for (int i = 0; i < 99; i++) {
      if (i & 1)
        c[1][i] = '>';
      else
        c[1][i] = 'v';
    }
    c[1][99] = '^';
    for (int i = 1; i < 25; i++) {
      for (int j = 0; j < 100; j++) {
        if (j & 1)
          c[i * 2][j] = '.';
        else
          c[i * 2][j] = 'v';
      }
      for (int j = 0; j < 100; j++) {
        if (j & 1)
          c[i * 2 + 1][j] = '^';
        else
          c[i * 2 + 1][j] = 'v';
      }
    }
    for (int i = 25; i < 49; i++) {
      for (int j = 0; j < 100; j++) {
        if (j & 1)
          c[i * 2][j] = '^';
        else
          c[i * 2][j] = 'v';
      }
      for (int j = 0; j < 100; j++) {
        if (j & 1)
          c[i * 2 + 1][j] = '^';
        else
          c[i * 2 + 1][j] = '.';
      }
    }
    for (int i = 0; i < 100; i++) {
      if (i & 1)
        c[98][i] = '^';
      else
        c[98][i] = '>';
    }
    for (int i = 0; i < 100; i++) {
      if (i & 1)
        c[99][i] = '.';
      else
        c[99][i] = '.';
    }
    for (int i = 1; i < 100; i++, cout << '\n')
      for (int j = 0; j < 100; j++) cout << c[i][j];
    cout << "1 1\n";
  }
}
